diff --git a/.metadata/.bak_0.log b/.metadata/.bak_0.log deleted file mode 100644 index 0e4f2ac..0000000 --- a/.metadata/.bak_0.log +++ /dev/null @@ -1,14027 +0,0 @@ -!SESSION 2015-07-15 15:24:45.371 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-07-15 15:25:41.331 -!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-07-15 15:25:41.332 -!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\Norbi'. 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-07-19 09:02:01.096 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-07-19 09:03:46.155 -!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-07-19 09:03:46.219 -!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\Norbi'. 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-07-20 10:22:45.311 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-07-20 10:23:24.280 -!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-07-20 10:23:24.288 -!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\Norbi'. 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.ui 4 4 2015-07-20 11:50:38.584 -!MESSAGE Save Failed - -!ENTRY org.eclipse.ui 2 0 2015-07-20 11:50:38.607 -!MESSAGE Save Failed -!STACK 0 -org.eclipse.core.runtime.AssertionFailedException: assertion failed: - at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110) - at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96) - at org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel.updateMarkers(AbstractMarkerAnnotationModel.java:550) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1401) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1449) - at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132) - at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69) - at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) - at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5066) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1247) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1301) - at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7198) - at org.eclipse.ui.Saveable.doSave(Saveable.java:214) - at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346) - at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193) - at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274) - at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) - at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1679) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1676) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261) - at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204) - at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.doSave(CompatibilityPart.java:417) - at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:201) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:89) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1223) - at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3437) - at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3455) - at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) - at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) - at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) - at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) - at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) - at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) - at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) - -!ENTRY org.eclipse.ui 4 4 2015-07-20 18:17:08.584 -!MESSAGE Save Failed - -!ENTRY org.eclipse.ui 2 0 2015-07-20 18:17:08.600 -!MESSAGE Save Failed -!STACK 0 -org.eclipse.core.runtime.AssertionFailedException: assertion failed: - at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110) - at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96) - at org.eclipse.ui.texteditor.AbstractMarkerAnnotationModel.updateMarkers(AbstractMarkerAnnotationModel.java:550) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1401) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1449) - at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132) - at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69) - at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) - at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5066) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1247) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1301) - at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7198) - at org.eclipse.ui.Saveable.doSave(Saveable.java:214) - at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346) - at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193) - at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274) - at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) - at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1679) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1676) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261) - at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204) - at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.doSave(CompatibilityPart.java:417) - at sun.reflect.GeneratedMethodAccessor38.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:201) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:89) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1223) - at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3437) - at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3455) - at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor36.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) - at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) - at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) - at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) - at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) - at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) - at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SESSION 2015-07-27 17:30:41.381 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-07-27 17:31:56.400 -!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-07-27 17:31:56.421 -!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\Norbi'. 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-08-08 18:30:00.907 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-08 18:30:23.469 -!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-08-08 18:30:23.581 -!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\Norbi'. 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.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. -!SUBENTRY 1 org.eclipse.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE A conflict occurred for ALT+SHIFT+ARROW_DOWN: -Binding(ALT+SHIFT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.select.last,Restore Last Selection, - Restore last selection, - Category(org.eclipse.ui.category.edit,Edit,null,true), - org.eclipse.ui.internal.MakeHandlersGo@7ce87f9d, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.jdt.ui.javaEditorScope,,,system) -Binding(ALT+SHIFT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToNextUnread,Mark Task Read and Go To Next Unread Task, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@e944541, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE A conflict occurred for ALT+ARROW_DOWN: -Binding(ALT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.goToNextUnread,Go To Next Unread Task, - , - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - org.eclipse.ui.internal.MakeHandlersGo@6198e9b5, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -Binding(ALT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.ui.edit.text.moveLineDown,Move Lines Down, - Moves the selected lines down, - Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true), - org.eclipse.ui.internal.MakeHandlersGo@1c89cec5, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.textEditorScope,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE A conflict occurred for ALT+SHIFT+ARROW_UP: -Binding(ALT+SHIFT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.select.enclosing,Select Enclosing Element, - Expand selection to include enclosing element, - Category(org.eclipse.ui.category.edit,Edit,null,true), - org.eclipse.ui.internal.MakeHandlersGo@1447bef2, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.jdt.ui.javaEditorScope,,,system) -Binding(ALT+SHIFT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToPreviousUnread,Mark Task Read and Go To Previous Unread Task, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@2b6c3f70, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE A conflict occurred for ALT+SHIFT+U: -Binding(ALT+SHIFT+U, - ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations,Remove Occurrence Annotations, - Removes the occurrence annotations from the current editor, - Category(org.eclipse.jdt.ui.category.source,Source,Java Source Actions,true), - org.eclipse.ui.internal.MakeHandlersGo@77ec911, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.jdt.ui.javaEditorScope,,,system) -Binding(ALT+SHIFT+U, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.markTaskUnread,Mark Task Unread, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@55d3c0dd, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE A conflict occurred for INSERT: -Binding(INSERT, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.new.local.task,New Local Task, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@7c4a44bb, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -Binding(INSERT, - ParameterizedCommand(Command(org.eclipse.ui.edit.text.toggleOverwrite,Toggle Overwrite, - Toggle overwrite mode, - Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true), - org.eclipse.ui.internal.MakeHandlersGo@369773fd, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.textEditorScope,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-08-08 20:21:36.761 -!MESSAGE A conflict occurred for ALT+ARROW_UP: -Binding(ALT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.goToPreviousUnread,Go To Previous Unread Task, - , - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - org.eclipse.ui.internal.MakeHandlersGo@5d7399f9, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -Binding(ALT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.ui.edit.text.moveLineUp,Move Lines Up, - Moves the selected lines up, - Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true), - org.eclipse.ui.internal.MakeHandlersGo@47d0127f, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.textEditorScope,,,system) -!SESSION 2015-08-08 22:18:57.768 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-08 22:19:31.422 -!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-08-08 22:19:31.528 -!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\Norbi'. 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-08-09 02:28:26.809 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-09 02:29:00.097 -!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-08-09 02:29:00.163 -!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\Norbi'. 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-08-09 12:44:08.125 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-09 12:44:49.818 -!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-08-09 12:44:49.857 -!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\Norbi'. 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.jdt.core 4 4 2015-08-09 16:10:06.274 -!MESSAGE JavaBuilder handling CoreException -!STACK 1 -org.eclipse.core.runtime.CoreException: Could not write file: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. - at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55) - at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:397) - at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:1101) - at org.eclipse.core.internal.resources.File.internalSetContents(File.java:321) - at org.eclipse.core.internal.resources.File.setContents(File.java:360) - at org.eclipse.core.internal.resources.File.setContents(File.java:464) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.writeClassFileContents(IncrementalImageBuilder.java:835) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFile(AbstractImageBuilder.java:857) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:188) - at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:510) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:365) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:329) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:302) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:134) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Caused by: java.io.FileNotFoundException: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class (A folyamat nem fér hozzá a fájlhoz, mert azt egy másik folyamat használja) - at java.io.FileOutputStream.open0(Native Method) - at java.io.FileOutputStream.open(Unknown Source) - at java.io.FileOutputStream.(Unknown Source) - at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:388) - ... 26 more -!SUBENTRY 1 org.eclipse.core.filesystem 4 272 2015-08-09 16:10:06.403 -!MESSAGE Could not write file: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. -!STACK 0 -java.io.FileNotFoundException: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class (A folyamat nem fér hozzá a fájlhoz, mert azt egy másik folyamat használja) - at java.io.FileOutputStream.open0(Native Method) - at java.io.FileOutputStream.open(Unknown Source) - at java.io.FileOutputStream.(Unknown Source) - at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:388) - at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:1101) - at org.eclipse.core.internal.resources.File.internalSetContents(File.java:321) - at org.eclipse.core.internal.resources.File.setContents(File.java:360) - at org.eclipse.core.internal.resources.File.setContents(File.java:464) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.writeClassFileContents(IncrementalImageBuilder.java:835) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFile(AbstractImageBuilder.java:857) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:188) - at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:510) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:365) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:329) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:302) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:134) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jdt.core 4 4 2015-08-09 16:10:06.407 -!MESSAGE JavaBuilder handling ImageBuilderInternalException while building: TheButtonAutoFlair -!STACK 1 -org.eclipse.core.internal.resources.ResourceException: Problems encountered while deleting resources. - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:816) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeClassFile(IncrementalImageBuilder.java:757) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeSecondaryTypes(IncrementalImageBuilder.java:770) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:135) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete 'D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class'. -org.eclipse.core.runtime.CoreException: Problems encountered while deleting files. - at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:131) - at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304) - at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785) - at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1973) - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:803) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeClassFile(IncrementalImageBuilder.java:757) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeSecondaryTypes(IncrementalImageBuilder.java:770) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:135) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. -!SUBENTRY 1 org.eclipse.core.resources 4 273 2015-08-09 16:10:06.408 -!MESSAGE Problems encountered while deleting resources. -!SUBENTRY 2 org.eclipse.core.resources 4 273 2015-08-09 16:10:06.408 -!MESSAGE Could not delete 'D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class'. -!STACK 1 -org.eclipse.core.runtime.CoreException: Problems encountered while deleting files. - at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:131) - at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304) - at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785) - at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1973) - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:803) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeClassFile(IncrementalImageBuilder.java:757) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeSecondaryTypes(IncrementalImageBuilder.java:770) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:135) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. -!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:06.408 -!MESSAGE Problems encountered while deleting files. -!SUBENTRY 4 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:06.408 -!MESSAGE Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. - -!ENTRY org.eclipse.jdt.core 4 4 2015-08-09 16:10:11.009 -!MESSAGE JavaBuilder handling ImageBuilderInternalException while building: TheButtonAutoFlair -!STACK 1 -org.eclipse.core.internal.resources.ResourceException: Problems encountered while deleting resources. - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:816) - at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.cleanOutputFolders(BatchImageBuilder.java:114) - at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:46) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:254) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:178) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete '/TheButtonAutoFlair/bin/tk'. -org.eclipse.core.internal.resources.ResourceException: Problems encountered while deleting resources. - at org.eclipse.core.internal.localstore.FileSystemResourceManager.delete(FileSystemResourceManager.java:352) - at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFolder(ResourceTree.java:352) - at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFolder(ResourceTree.java:798) - at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1977) - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:803) - at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.cleanOutputFolders(BatchImageBuilder.java:114) - at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:46) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:254) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:178) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Problems encountered while deleting files. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk. -!SUBENTRY 1 org.eclipse.core.resources 4 273 2015-08-09 16:10:11.009 -!MESSAGE Problems encountered while deleting resources. -!SUBENTRY 2 org.eclipse.core.resources 4 273 2015-08-09 16:10:11.010 -!MESSAGE Could not delete '/TheButtonAutoFlair/bin/tk'. -!STACK 1 -org.eclipse.core.internal.resources.ResourceException: Problems encountered while deleting resources. - at org.eclipse.core.internal.localstore.FileSystemResourceManager.delete(FileSystemResourceManager.java:352) - at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFolder(ResourceTree.java:352) - at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFolder(ResourceTree.java:798) - at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1977) - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:803) - at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.cleanOutputFolders(BatchImageBuilder.java:114) - at org.eclipse.jdt.internal.core.builder.BatchImageBuilder.build(BatchImageBuilder.java:46) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildAll(JavaBuilder.java:254) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:178) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Problems encountered while deleting files. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp. -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk. -!SUBENTRY 3 org.eclipse.core.resources 4 273 2015-08-09 16:10:11.010 -!MESSAGE Problems encountered while deleting resources. -!SUBENTRY 4 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:11.010 -!MESSAGE Problems encountered while deleting files. -!SUBENTRY 5 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:11.010 -!MESSAGE Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\PluginMain.class. -!SUBENTRY 5 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:11.010 -!MESSAGE Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair. -!SUBENTRY 5 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:11.010 -!MESSAGE Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp. -!SUBENTRY 5 org.eclipse.core.filesystem 4 273 2015-08-09 16:10:11.010 -!MESSAGE Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk. -!SESSION 2015-08-09 20:56:55.150 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-09 20:58:12.223 -!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-08-09 20:58:12.224 -!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\Norbi'. 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-08-09 22:48:23.020 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 2 10035 2015-08-09 22:49:53.071 -!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-09 22:53:15.430 -!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-08-09 22:53:15.431 -!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\Norbi'. 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-08-10 07:20:59.956 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-10 07:22:18.883 -!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-08-10 07:22:18.926 -!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\Norbi'. 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-08-10 20:02:07.739 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-10 20:02:46.475 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-10 20:02:46.519 -!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\Norbi'. 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-08-10 22:52:51.487 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-10 22:54:02.021 -!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-08-10 22:54:02.065 -!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\Norbi'. 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-08-12 12:32:27.604 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-12 12:38:42.082 -!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-08-12 12:38:42.125 -!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\Norbi'. 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-08-14 12:09:07.199 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 2 10035 2015-08-14 12:09:27.930 -!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. - -!ENTRY org.eclipse.osgi 4 0 2015-08-14 12:10:15.826 -!MESSAGE Application error -!STACK 1 -org.eclipse.swt.SWTError: No more handles - at org.eclipse.swt.SWT.error(SWT.java:4387) - at org.eclipse.swt.SWT.error(SWT.java:4276) - at org.eclipse.swt.SWT.error(SWT.java:4247) - at org.eclipse.swt.widgets.Widget.error(Widget.java:468) - at org.eclipse.swt.widgets.Control.createHandle(Control.java:704) - at org.eclipse.swt.widgets.Composite.createHandle(Composite.java:305) - at org.eclipse.swt.widgets.Control.createWidget(Control.java:744) - at org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:134) - at org.eclipse.swt.widgets.Control.(Control.java:112) - at org.eclipse.swt.widgets.Scrollable.(Scrollable.java:75) - at org.eclipse.swt.widgets.Composite.(Composite.java:95) - at org.eclipse.ui.splash.BasicSplashHandler.getBundleProgressMonitor(BasicSplashHandler.java:159) - at org.eclipse.ui.splash.BasicSplashHandler.getContent(BasicSplashHandler.java:265) - at org.eclipse.ui.internal.splash.EclipseSplashHandler.init(EclipseSplashHandler.java:91) - at org.eclipse.ui.internal.Workbench$6.run(Workbench.java:751) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.ui.internal.Workbench.createSplashWrapper(Workbench.java:772) - at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:690) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:568) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SESSION 2015-08-14 12:09:07.186 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 2 10035 2015-08-14 12:15:27.853 -!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-14 12:16:14.774 -!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-08-14 12:16:14.774 -!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\Norbi'. 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-08-14 14:45:00.284 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-14 14:46:01.842 -!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-08-14 14:46:02.106 -!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\Norbi'. 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-08-17 10:02:15.483 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-17 10:02:46.235 -!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-08-17 10:02:46.268 -!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\Norbi'. 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.jdt.core 4 4 2015-08-17 10:16:13.602 -!MESSAGE JavaBuilder handling CoreException -!STACK 1 -org.eclipse.core.runtime.CoreException: Could not write file: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class. - at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55) - at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:397) - at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:1101) - at org.eclipse.core.internal.resources.File.internalSetContents(File.java:321) - at org.eclipse.core.internal.resources.File.setContents(File.java:360) - at org.eclipse.core.internal.resources.File.setContents(File.java:464) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.writeClassFileContents(IncrementalImageBuilder.java:835) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFile(AbstractImageBuilder.java:857) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:188) - at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:510) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:365) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:329) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:302) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:134) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Caused by: java.io.FileNotFoundException: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class (A folyamat nem fér hozzá a fájlhoz, mert azt egy másik folyamat használja) - at java.io.FileOutputStream.open0(Native Method) - at java.io.FileOutputStream.open(Unknown Source) - at java.io.FileOutputStream.(Unknown Source) - at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:388) - ... 26 more -!SUBENTRY 1 org.eclipse.core.filesystem 4 272 2015-08-17 10:16:13.654 -!MESSAGE Could not write file: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class. -!STACK 0 -java.io.FileNotFoundException: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class (A folyamat nem fér hozzá a fájlhoz, mert azt egy másik folyamat használja) - at java.io.FileOutputStream.open0(Native Method) - at java.io.FileOutputStream.open(Unknown Source) - at java.io.FileOutputStream.(Unknown Source) - at org.eclipse.core.internal.filesystem.local.LocalFile.openOutputStream(LocalFile.java:388) - at org.eclipse.core.internal.localstore.FileSystemResourceManager.write(FileSystemResourceManager.java:1101) - at org.eclipse.core.internal.resources.File.internalSetContents(File.java:321) - at org.eclipse.core.internal.resources.File.setContents(File.java:360) - at org.eclipse.core.internal.resources.File.setContents(File.java:464) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.writeClassFileContents(IncrementalImageBuilder.java:835) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.writeClassFile(AbstractImageBuilder.java:857) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.acceptResult(AbstractImageBuilder.java:188) - at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:510) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:365) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.compile(IncrementalImageBuilder.java:329) - at org.eclipse.jdt.internal.core.builder.AbstractImageBuilder.compile(AbstractImageBuilder.java:302) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:134) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jdt.core 4 4 2015-08-17 10:16:13.690 -!MESSAGE JavaBuilder handling ImageBuilderInternalException while building: TheButtonAutoFlair -!STACK 1 -org.eclipse.core.internal.resources.ResourceException: Problems encountered while deleting resources. - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:816) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeClassFile(IncrementalImageBuilder.java:757) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeSecondaryTypes(IncrementalImageBuilder.java:770) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:135) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete 'D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class'. -org.eclipse.core.runtime.CoreException: Problems encountered while deleting files. - at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:131) - at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304) - at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785) - at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1973) - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:803) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeClassFile(IncrementalImageBuilder.java:757) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeSecondaryTypes(IncrementalImageBuilder.java:770) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:135) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class. -!SUBENTRY 1 org.eclipse.core.resources 4 273 2015-08-17 10:16:13.691 -!MESSAGE Problems encountered while deleting resources. -!SUBENTRY 2 org.eclipse.core.resources 4 273 2015-08-17 10:16:13.691 -!MESSAGE Could not delete 'D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class'. -!STACK 1 -org.eclipse.core.runtime.CoreException: Problems encountered while deleting files. - at org.eclipse.core.internal.filesystem.local.LocalFile.delete(LocalFile.java:131) - at org.eclipse.core.internal.resources.ResourceTree.internalDeleteFile(ResourceTree.java:304) - at org.eclipse.core.internal.resources.ResourceTree.standardDeleteFile(ResourceTree.java:785) - at org.eclipse.core.internal.resources.Resource.unprotectedDelete(Resource.java:1973) - at org.eclipse.core.internal.resources.Resource.delete(Resource.java:803) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeClassFile(IncrementalImageBuilder.java:757) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.removeSecondaryTypes(IncrementalImageBuilder.java:770) - at org.eclipse.jdt.internal.core.builder.IncrementalImageBuilder.build(IncrementalImageBuilder.java:135) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.buildDeltas(JavaBuilder.java:265) - at org.eclipse.jdt.internal.core.builder.JavaBuilder.build(JavaBuilder.java:193) - at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239) - at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295) - at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351) - at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374) - at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143) - at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Contains: Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class. -!SUBENTRY 3 org.eclipse.core.filesystem 4 273 2015-08-17 10:16:13.691 -!MESSAGE Problems encountered while deleting files. -!SUBENTRY 4 org.eclipse.core.filesystem 4 273 2015-08-17 10:16:13.691 -!MESSAGE Could not delete: D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\TheButtonAutoFlair\bin\tk\sznp\thebuttonautoflair\Commands.class. -!SESSION 2015-08-20 00:04:03.836 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-20 00:04:39.002 -!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-08-20 00:04:39.076 -!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\Norbi'. 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-08-20 12:03:37.735 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-20 12:04:30.018 -!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-08-20 12:04:30.041 -!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\Norbi'. 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-08-21 17:16:18.124 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-21 17:16:33.522 -!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-08-21 17:16:33.559 -!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\Norbi'. 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-08-22 17:26:16.114 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-22 17:26:38.355 -!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-08-22 17:26:38.382 -!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\Norbi'. 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-08-23 17:16:55.833 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.osgi 4 0 2015-08-23 17:17:21.079 -!MESSAGE Application error -!STACK 1 -org.eclipse.swt.SWTError: No more handles - at org.eclipse.swt.SWT.error(SWT.java:4387) - at org.eclipse.swt.SWT.error(SWT.java:4276) - at org.eclipse.swt.SWT.error(SWT.java:4247) - at org.eclipse.swt.widgets.Widget.error(Widget.java:468) - at org.eclipse.swt.widgets.Control.createHandle(Control.java:704) - at org.eclipse.swt.widgets.Composite.createHandle(Composite.java:305) - at org.eclipse.swt.widgets.Control.createWidget(Control.java:744) - at org.eclipse.swt.widgets.Scrollable.createWidget(Scrollable.java:134) - at org.eclipse.swt.widgets.Control.(Control.java:112) - at org.eclipse.swt.widgets.Scrollable.(Scrollable.java:75) - at org.eclipse.swt.widgets.Composite.(Composite.java:95) - at org.eclipse.ui.splash.BasicSplashHandler.getBundleProgressMonitor(BasicSplashHandler.java:159) - at org.eclipse.ui.splash.BasicSplashHandler.getContent(BasicSplashHandler.java:265) - at org.eclipse.ui.internal.splash.EclipseSplashHandler.init(EclipseSplashHandler.java:91) - at org.eclipse.ui.internal.Workbench$6.run(Workbench.java:751) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.ui.internal.Workbench.createSplashWrapper(Workbench.java:772) - at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:690) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:568) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SESSION 2015-08-25 11:30:37.334 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-25 11:35:58.463 -!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-08-25 11:35:58.581 -!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\Norbi'. 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-08-28 18:27:09.642 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-28 18:27:44.185 -!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-08-28 18:27:44.219 -!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\Norbi'. 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-08-28 23:51:11.384 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-28 23:57:53.688 -!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-08-28 23:57:53.746 -!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\Norbi'. 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-08-29 00:29:53.463 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-29 00:30:27.902 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-29 00:30:27.923 -!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\Norbi'. 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-08-29 01:06:11.273 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-29 01:07:26.560 -!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-08-29 01:07:26.561 -!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\Norbi'. 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-08-30 16:04:35.297 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-30 16:05:17.135 -!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-08-30 16:05:17.232 -!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\Norbi'. 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-08-30 19:48:08.774 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-30 19:51:13.709 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-30 19:51:13.842 -!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\Norbi'. 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-08-31 08:13:33.839 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-31 08:16:17.239 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-31 08:16:17.347 -!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\Norbi'. 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-08-31 18:08:04.953 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-08-31 18:09:58.906 -!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-08-31 18:09:58.979 -!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\Norbi'. 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-09-03 16:29:43.152 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-03 16:30:18.323 -!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-09-03 16:30:18.372 -!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\Norbi'. 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-09-04 14:00:12.250 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-04 14:01:05.693 -!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-09-04 14:01:05.942 -!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\Norbi'. 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-09-05 09:20:53.186 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 2 10035 2015-09-05 09:21:02.434 -!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-05 09:21:32.770 -!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-09-05 09:21:32.771 -!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\Norbi'. 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-09-05 20:05:26.954 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-05 20:06:04.350 -!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-09-05 20:06:04.444 -!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\Norbi'. 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-09-05 22:11:43.331 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-05 22:12:41.008 -!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-09-05 22:12:41.084 -!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\Norbi'. 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-09-06 18:49:03.989 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-06 18:49:40.216 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-06 18:49:40.334 -!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\Norbi'. 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-09-08 20:18:08.446 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-08 20:18:46.444 -!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-09-08 20:18:46.484 -!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\Norbi'. 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-09-08 21:24:42.383 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-08 21:25:10.913 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-08 21:25:10.914 -!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\Norbi'. 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-09-10 18:07:55.439 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-10 18:09:02.223 -!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-09-10 18:09:02.274 -!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\Norbi'. 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-09-10 20:16:53.544 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-10 20:17:18.126 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-10 20:17:18.185 -!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\Norbi'. 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-09-11 20:36:45.728 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-11 20:39:01.690 -!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-09-11 20:39:01.994 -!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\Norbi'. 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-09-15 17:19:32.373 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-15 17:19:55.932 -!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-09-15 17:19:55.984 -!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\Norbi'. 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-09-16 21:03:23.492 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-16 21:04:01.764 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-16 21:04:01.863 -!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\Norbi'. 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-09-17 21:43:10.651 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-17 21:43:42.909 -!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-09-17 21:43:43.002 -!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\Norbi'. 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-09-18 18:49:00.664 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-18 18:50:30.284 -!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-09-18 18:50:30.329 -!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\Norbi'. 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-09-18 19:06:28.828 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-18 19:07:05.400 -!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-09-18 19:07:05.571 -!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\Norbi'. 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.jface.text 4 0 2015-09-18 19:19:30.132 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-09-18 19:19:32.170 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-09-18 19:19:34.054 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-09-18 19:19:35.971 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-09-18 19:19:41.481 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:19:49.113 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:00.245 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:00.832 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:00.996 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:01.224 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:01.325 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:01.492 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:01.719 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:05.558 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:05.967 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:06.473 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:06.679 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:06.833 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:06.885 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:06.959 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:07.339 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:07.384 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:07.856 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:08.057 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:08.337 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:15.950 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:16.684 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:16.772 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:16.834 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:16.906 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:16.999 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:17.199 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:17.404 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:17.756 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:17.913 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:18.413 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:22.219 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:36.754 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:37.254 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:37.511 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:37.754 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:37.842 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:38.019 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:38.234 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:38.321 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:38.443 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:38.619 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:39.292 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:40.403 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:41.287 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:41.599 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:41.666 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:42.199 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:42.626 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:42.656 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:42.776 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:42.801 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:42.991 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:43.088 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:43.916 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:44.256 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:44.316 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:44.507 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:44.782 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:44.801 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:45.044 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:45.196 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:45.325 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:45.631 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:45.916 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:46.087 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:46.094 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:46.449 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:46.566 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:47.029 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:47.474 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:47.769 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:48.199 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:48.206 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:48.502 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:48.535 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:48.942 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.087 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.236 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.480 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.506 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.615 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.691 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.882 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:49.957 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:50.107 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:50.365 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:50.411 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:50.609 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:50.776 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:50.990 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:51.122 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:51.985 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:52.421 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:52.672 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:20:52.797 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:42:24.699 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:42:54.148 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:43:56.127 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:43:56.453 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:53:55.395 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:53:56.595 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 19:54:38.866 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 20:20:39.229 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 20:20:39.777 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 20:20:42.797 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-18 20:20:43.791 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-09-18 20:28:16.899 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-09-18 20:35:13.248 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) -!SESSION 2015-09-18 22:00:20.813 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-18 22:00:56.494 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-18 22:00:56.572 -!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\Norbi'. 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-09-19 12:20:00.519 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-19 12:20:37.615 -!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-09-19 12:20:37.640 -!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\Norbi'. 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.jface.text 2 0 2015-09-19 12:25:13.250 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-19 12:25:13.440 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-19 12:26:27.686 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-19 12:26:30.002 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-19 12:26:31.494 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-09-19 18:53:05.859 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-19 18:53:35.522 -!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-09-19 18:53:35.565 -!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\Norbi'. 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-09-19 23:36:22.230 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-19 23:36:57.792 -!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-09-19 23:36:57.823 -!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\Norbi'. 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-09-20 10:53:24.590 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.equinox.app 4 2 2015-09-20 10:54:51.309 -!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.equinox.app". -!STACK 0 -org.eclipse.swt.SWTException: Widget is disposed - at org.eclipse.swt.SWT.error(SWT.java:4361) - at org.eclipse.swt.SWT.error(SWT.java:4276) - at org.eclipse.swt.SWT.error(SWT.java:4247) - at org.eclipse.swt.widgets.Widget.error(Widget.java:468) - at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) - at org.eclipse.swt.widgets.Shell.close(Shell.java:537) - at org.eclipse.ui.splash.AbstractSplashHandler.dispose(AbstractSplashHandler.java:63) - at org.eclipse.ui.splash.BasicSplashHandler.dispose(BasicSplashHandler.java:191) - at org.eclipse.ui.internal.Workbench$6$1.applicationRunning(Workbench.java:731) - at org.eclipse.equinox.internal.app.EclipseAppHandle$1.run(EclipseAppHandle.java:268) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.equinox.internal.app.EclipseAppHandle.applicationRunning(EclipseAppHandle.java:258) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1001) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-20 10:54:57.937 -!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-09-20 10:54:57.937 -!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\Norbi'. 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-09-21 19:44:13.631 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-21 19:46:55.767 -!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-09-21 19:46:55.961 -!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\Norbi'. 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-09-30 20:07:37.281 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-09-30 20:07:54.147 -!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-09-30 20:07:54.366 -!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\Norbi'. 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.jface.text 2 0 2015-09-30 20:17:33.709 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:33.903 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:34.077 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:34.250 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:34.449 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:34.626 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:36.500 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:36.672 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:36.681 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:37.286 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-09-30 20:17:37.408 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-02 22:57:41.971 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-02 22:58:39.814 -!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-10-02 22:58:40.000 -!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\Norbi'. 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.jface.text 2 0 2015-10-02 23:33:35.390 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:35:41.163 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:35:52.245 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:35:53.083 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:36:45.673 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:20.683 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:23.066 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:23.756 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:25.549 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:27.398 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:27.830 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:28.099 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:28.232 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:29.919 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:33.709 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:35.922 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:37.352 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:38:39.146 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:39:45.327 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:39:46.145 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:39:48.435 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:39:49.298 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:39:50.992 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:40:17.719 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-02 23:40:18.254 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jdt.ui 4 10001 2015-10-02 23:50:15.389 -!MESSAGE Internal Error -!STACK 0 -java.lang.reflect.InvocationTargetException - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421) - at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.executeExportOperation(JarPackageWizard.java:167) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.performFinish(JarPackageWizard.java:270) - at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) - at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) - at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) - at org.eclipse.jface.window.Window.open(Window.java:801) - at org.eclipse.ui.internal.handlers.WizardHandler$Export.executeHandler(WizardHandler.java:103) - at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:279) - at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:515) - at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157) - at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) - at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) - at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.internalWorked(EventLoopProgressMonitor.java:90) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.SubProgressMonitor.worked(SubProgressMonitor.java:181) - at org.eclipse.core.runtime.SubMonitor$RootInfo.worked(SubMonitor.java:284) - at org.eclipse.core.runtime.SubMonitor.internalWorked(SubMonitor.java:570) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.SubProgressMonitor.worked(SubProgressMonitor.java:181) - at org.eclipse.jdt.internal.core.JavaModelOperation.worked(JavaModelOperation.java:881) - at org.eclipse.jdt.internal.core.CommitWorkingCopyOperation.executeOperation(CommitWorkingCopyOperation.java:177) - at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793) - at org.eclipse.jdt.internal.core.CompilationUnit.commitWorkingCopy(CompilationUnit.java:391) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1376) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1449) - at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132) - at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69) - at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) - at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5066) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1247) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1301) - at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7198) - at org.eclipse.ui.Saveable.doSave(Saveable.java:214) - at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346) - at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193) - at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274) - at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) - at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1679) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1676) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261) - at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204) - at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.doSave(CompatibilityPart.java:417) - at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:201) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:89) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1223) - at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3437) - at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3455) - at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) - at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) - at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) - at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) - at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) - at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) - at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -Caused by: java.lang.IllegalStateException: Cannot fork a thread from a thread owning a rule - at org.eclipse.ui.actions.WorkspaceModifyOperation.threadChange(WorkspaceModifyOperation.java:148) - at org.eclipse.jface.operation.ModalContext.invokeThreadListener(ModalContext.java:442) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:383) - ... 149 more -Root exception: -java.lang.IllegalStateException: Cannot fork a thread from a thread owning a rule - at org.eclipse.ui.actions.WorkspaceModifyOperation.threadChange(WorkspaceModifyOperation.java:148) - at org.eclipse.jface.operation.ModalContext.invokeThreadListener(ModalContext.java:442) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:383) - at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.executeExportOperation(JarPackageWizard.java:167) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.performFinish(JarPackageWizard.java:270) - at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) - at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) - at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) - at org.eclipse.jface.window.Window.open(Window.java:801) - at org.eclipse.ui.internal.handlers.WizardHandler$Export.executeHandler(WizardHandler.java:103) - at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:279) - at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:515) - at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157) - at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) - at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) - at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.internalWorked(EventLoopProgressMonitor.java:90) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.SubProgressMonitor.worked(SubProgressMonitor.java:181) - at org.eclipse.core.runtime.SubMonitor$RootInfo.worked(SubMonitor.java:284) - at org.eclipse.core.runtime.SubMonitor.internalWorked(SubMonitor.java:570) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.ProgressMonitorWrapper.internalWorked(ProgressMonitorWrapper.java:94) - at org.eclipse.core.runtime.SubProgressMonitor.internalWorked(SubProgressMonitor.java:155) - at org.eclipse.core.runtime.SubProgressMonitor.worked(SubProgressMonitor.java:181) - at org.eclipse.jdt.internal.core.JavaModelOperation.worked(JavaModelOperation.java:881) - at org.eclipse.jdt.internal.core.CommitWorkingCopyOperation.executeOperation(CommitWorkingCopyOperation.java:177) - at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793) - at org.eclipse.jdt.internal.core.CompilationUnit.commitWorkingCopy(CompilationUnit.java:391) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1376) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1449) - at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132) - at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69) - at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) - at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5066) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1247) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1301) - at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7198) - at org.eclipse.ui.Saveable.doSave(Saveable.java:214) - at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346) - at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193) - at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274) - at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) - at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1679) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1676) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261) - at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204) - at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.doSave(CompatibilityPart.java:417) - at sun.reflect.GeneratedMethodAccessor26.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:201) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:89) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1223) - at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3437) - at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3455) - at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) - at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) - at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) - at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) - at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) - at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) - at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SESSION 2015-10-03 00:09:45.699 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 4 567 2015-10-03 00:09:51.377 -!MESSAGE Could not read metadata for 'D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes\properties.index'. Unexpected version: 0. - -!ENTRY org.eclipse.jdt.launching 4 4 2015-10-03 00:10:24.676 -!MESSAGE Content is not allowed in prolog. -!STACK 0 -org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) - at org.eclipse.jdt.internal.launching.LaunchingPlugin.readInstallInfo(LaunchingPlugin.java:1012) - at org.eclipse.jdt.internal.launching.LaunchingPlugin.timeStampChanged(LaunchingPlugin.java:976) - at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.populateVMForType(VMDefinitionsContainer.java:551) - at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.populateVMTypes(VMDefinitionsContainer.java:488) - at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.parseXMLIntoContainer(VMDefinitionsContainer.java:467) - at org.eclipse.jdt.launching.JavaRuntime.addPersistedVMs(JavaRuntime.java:1488) - at org.eclipse.jdt.launching.JavaRuntime.initializeVMs(JavaRuntime.java:2654) - at org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes(JavaRuntime.java:532) - at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.initializeCompatibilities(EnvironmentsManager.java:234) - at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.init(ExecutionEnvironment.java:177) - at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.getDefaultVM(ExecutionEnvironment.java:214) - at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java:173) - at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java:140) - at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:57) - at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2843) - at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1878) - at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3128) - at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2691) - at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2855) - at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1960) - at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:463) - at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258) - at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518) - at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:255) - at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241) - at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1640) - at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2327) - at org.eclipse.jdt.internal.core.SearchableEnvironment.(SearchableEnvironment.java:59) - at org.eclipse.jdt.internal.core.SearchableEnvironment.(SearchableEnvironment.java:66) - at org.eclipse.jdt.internal.core.CancelableNameEnvironment.(CancelableNameEnvironment.java:26) - at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:176) - at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:269) - at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190) - at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89) - at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) - at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788) - at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:178) - at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114) - at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:136) - at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:105) - at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:406) - at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:173) - -!ENTRY org.eclipse.mylyn.tasks.core 2 0 2015-10-03 00:10:25.869 -!MESSAGE Failed to load tasks.xml.zip, restoring from snapshot -!STACK 1 -org.eclipse.core.runtime.CoreException: Failed to load Task List - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizer.openTaskList(TaskListExternalizer.java:330) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizer.readTaskList(TaskListExternalizer.java:217) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizationParticipant$1.execute(TaskListExternalizationParticipant.java:78) - at org.eclipse.mylyn.internal.tasks.core.TaskList.run(TaskList.java:673) - at org.eclipse.mylyn.internal.tasks.core.TaskList.run(TaskList.java:664) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizationParticipant.load(TaskListExternalizationParticipant.java:82) - at org.eclipse.mylyn.internal.tasks.core.externalization.AbstractExternalizationParticipant.performLoad(AbstractExternalizationParticipant.java:83) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizationParticipant.performLoad(TaskListExternalizationParticipant.java:87) - at org.eclipse.mylyn.internal.tasks.core.externalization.AbstractExternalizationParticipant.execute(AbstractExternalizationParticipant.java:73) - at org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager$1.run(ExternalizationManager.java:117) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager.load(ExternalizationManager.java:106) - at org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager.load(ExternalizationManager.java:84) - at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.initializeDataSources(TasksUiPlugin.java:880) - at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.start(TasksUiPlugin.java:625) - at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) - at java.security.AccessController.doPrivileged(Native Method) - at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) - at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) - at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) - at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) - at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) - at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263) - at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107) - at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469) - at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) - at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395) - at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464) - at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) - at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) - at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) - at java.lang.ClassLoader.loadClass(Unknown Source) - at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340) - at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) - at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212) - at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) - at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) - at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) - at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) - at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:62) - at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:112) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:262) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:299) - 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:861) - at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:841) - at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:113) - at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:321) - at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:242) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161) - at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102) - at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71) - at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53) - at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:894) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:629) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:520) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:505) - at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:74) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:894) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:629) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1115) - at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:98) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:645) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:103) - at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:98) - at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:77) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:645) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:644) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:987) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -Caused by: org.eclipse.core.runtime.CoreException: Task list file contains no entry for the task list - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizer.openTaskList(TaskListExternalizer.java:319) - ... 159 more -!SUBENTRY 1 org.eclipse.mylyn.tasks.core 4 0 2015-10-03 00:10:25.873 -!MESSAGE Failed to load Task List -!STACK 1 -org.eclipse.core.runtime.CoreException: Task list file contains no entry for the task list - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizer.openTaskList(TaskListExternalizer.java:319) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizer.readTaskList(TaskListExternalizer.java:217) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizationParticipant$1.execute(TaskListExternalizationParticipant.java:78) - at org.eclipse.mylyn.internal.tasks.core.TaskList.run(TaskList.java:673) - at org.eclipse.mylyn.internal.tasks.core.TaskList.run(TaskList.java:664) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizationParticipant.load(TaskListExternalizationParticipant.java:82) - at org.eclipse.mylyn.internal.tasks.core.externalization.AbstractExternalizationParticipant.performLoad(AbstractExternalizationParticipant.java:83) - at org.eclipse.mylyn.internal.tasks.core.externalization.TaskListExternalizationParticipant.performLoad(TaskListExternalizationParticipant.java:87) - at org.eclipse.mylyn.internal.tasks.core.externalization.AbstractExternalizationParticipant.execute(AbstractExternalizationParticipant.java:73) - at org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager$1.run(ExternalizationManager.java:117) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager.load(ExternalizationManager.java:106) - at org.eclipse.mylyn.internal.tasks.core.externalization.ExternalizationManager.load(ExternalizationManager.java:84) - at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.initializeDataSources(TasksUiPlugin.java:880) - at org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin.start(TasksUiPlugin.java:625) - at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711) - at java.security.AccessController.doPrivileged(Native Method) - at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702) - at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683) - at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381) - at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300) - at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440) - at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263) - at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107) - at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469) - at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) - at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395) - at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:464) - at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) - at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) - at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) - at java.lang.ClassLoader.loadClass(Unknown Source) - at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:340) - at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:229) - at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1212) - at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) - at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:905) - at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) - at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) - at org.eclipse.ui.internal.registry.ViewDescriptor.createView(ViewDescriptor.java:62) - at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:112) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:262) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:299) - 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:861) - at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:841) - at org.eclipse.e4.core.internal.di.InjectorImpl.inject(InjectorImpl.java:113) - at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:321) - at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:242) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:161) - at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:102) - at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:71) - at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:53) - at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:141) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:894) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:629) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$6.run(PartRenderingEngine.java:520) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:505) - at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:74) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:894) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:629) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1115) - at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:98) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:645) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:103) - at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:98) - at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:77) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:645) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:59) - at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:644) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:641) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:731) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$2(PartRenderingEngine.java:702) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$7.run(PartRenderingEngine.java:696) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:681) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:987) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SUBENTRY 2 org.eclipse.mylyn.tasks.core 4 0 2015-10-03 00:10:25.887 -!MESSAGE Task list file contains no entry for the task list - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-03 00:10:32.518 -!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-10-03 00:10:32.519 -!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\Norbi'. 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.jdt.ui 4 10001 2015-10-03 00:10:38.931 -!MESSAGE Internal Error -!STACK 1 -org.eclipse.jdt.internal.ui.JavaUIException: Problems reading information from XML 'OpenTypeHistory.xml' - at org.eclipse.jdt.internal.corext.util.History.createException(History.java:71) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:260) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:168) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.(OpenTypeHistory.java:199) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.getInstance(OpenTypeHistory.java:185) - at org.eclipse.jdt.internal.ui.JavaPlugin.initializeAfterLoad(JavaPlugin.java:395) - at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:37) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:258) - ... 6 more -!SUBENTRY 1 org.eclipse.jdt.ui 4 4 2015-10-03 00:10:38.931 -!MESSAGE Problems reading information from XML 'OpenTypeHistory.xml' -!STACK 0 -org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:258) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:168) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.(OpenTypeHistory.java:199) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.getInstance(OpenTypeHistory.java:185) - at org.eclipse.jdt.internal.ui.JavaPlugin.initializeAfterLoad(JavaPlugin.java:395) - at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:37) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-10-03 00:11:24.212 -!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl Commands.java -!STACK 0 -org.eclipse.swt.SWTException: Widget is disposed - at org.eclipse.swt.SWT.error(SWT.java:4361) - at org.eclipse.swt.SWT.error(SWT.java:4276) - at org.eclipse.swt.SWT.error(SWT.java:4247) - at org.eclipse.swt.widgets.Widget.error(Widget.java:468) - at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) - at org.eclipse.swt.widgets.Control.setFocus(Control.java:3301) - at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1038) - at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1038) - at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120) - at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setFocus(JavaEditor.java:2389) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:189) - 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:208) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:106) - at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:101) - at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$9.mouseUp(StackRenderer.java:942) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SESSION 2015-10-03 18:03:32.612 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-03 18:04:12.032 -!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-10-03 18:04:12.341 -!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\Norbi'. 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.jface.text 4 0 2015-10-03 18:14:50.481 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:25:49.604 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:25:50.112 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:25:50.558 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:25:53.731 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:28:03.237 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:30:56.929 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:32:16.937 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:32:30.375 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:32:30.965 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:21.022 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:22.413 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:23.225 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:23.616 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:23.866 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:24.075 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:24.263 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:24.447 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:24.632 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:24.814 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:25.206 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:25.399 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:25.581 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:28.008 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:28.223 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:28.408 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:28.593 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:29.037 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:29.092 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:29.289 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:29.407 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:29.610 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:30.061 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:31.708 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:31.969 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:32.100 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:32.255 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:32.683 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:32.886 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:33.076 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:33.352 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:33.541 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:33.668 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:39.171 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:39.439 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:39.710 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:39.945 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:40.119 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:36:40.557 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:37:22.058 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:37:23.015 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:37:23.320 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 18:37:54.195 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 19:08:45.316 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 19:08:45.549 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-03 19:09:52.677 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) -!SESSION 2015-10-03 20:50:52.810 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-03 20:51:41.286 -!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-10-03 20:51:41.537 -!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\Norbi'. 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.jface.text 2 0 2015-10-03 22:12:39.951 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:46.632 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:53.203 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:53.342 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:53.452 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:53.773 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:53.911 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:54.084 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:54.636 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:12:56.584 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:13:00.382 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:13:01.006 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:13:01.238 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:13:01.331 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:13:02.475 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-03 22:13:15.770 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-04 20:04:34.878 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-04 20:05:15.104 -!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-10-04 20:05:15.194 -!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\Norbi'. 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-10-05 19:38:35.697 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-05 19:39:23.659 -!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-10-05 19:39:23.946 -!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\Norbi'. 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-10-12 19:12:00.690 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-12 19:14:32.941 -!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-10-12 19:14:33.224 -!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\Norbi'. 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-10-13 21:36:48.406 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-13 21:37:48.889 -!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-10-13 21:37:48.990 -!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\Norbi'. 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.jface.text 4 0 2015-10-13 22:02:25.350 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-13 22:02:27.345 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-13 22:03:54.885 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) -!SESSION 2015-10-16 16:52:13.374 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-16 16:53:30.189 -!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-10-16 16:53:30.302 -!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\Norbi'. 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.jface.text 2 0 2015-10-16 18:29:05.728 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:05.771 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:06.172 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:07.358 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:07.390 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:07.690 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:09.042 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:09.737 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:11.084 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:12.473 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:13.839 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:13.947 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:14.479 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:14.572 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:14.783 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:14.991 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:15.411 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:15.428 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:15.771 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:16.230 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:16.364 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:16.444 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:16.563 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:17.071 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:17.486 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:17.568 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:17.634 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:17.797 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:17.801 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 18:29:18.021 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-16 20:41:58.716 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-16 20:42:51.692 -!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-10-16 20:42:51.834 -!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\Norbi'. 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.jface.text 4 0 2015-10-16 21:32:53.730 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:34:58.104 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:46.852 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:49.145 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:49.352 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:49.555 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:49.915 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:50.325 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:51.655 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:51.921 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:37:56.143 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:38:40.540 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:39:46.250 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:39:49.775 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:39:52.286 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:39:52.946 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:41:14.748 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:41:15.793 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:41:16.316 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:49.771 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:50.020 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:51.965 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:53.819 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:54.230 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:54.409 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:54.893 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:54.989 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:55.312 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:55.654 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:57.502 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:57.828 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:57.934 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:58.124 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:58.444 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:58.820 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:59.133 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:59.430 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:59.713 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:45:59.739 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:00.321 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:01.039 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:01.113 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:01.217 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:01.747 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:01.840 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:01.991 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:02.352 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:02.486 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:05.736 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:05.849 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:06.177 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:06.490 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:06.531 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:06.537 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:06.853 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:07.464 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:07.503 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:07.939 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:08.112 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:08.411 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:08.732 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:46:09.098 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:47:47.337 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:53:16.419 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:53:16.637 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:53:16.925 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:34.777 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:35.457 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:36.845 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:38.410 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:38.776 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:39.494 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:51.379 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:51.691 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:52.283 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:52.869 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:55:53.173 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:56:05.305 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:56:05.409 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:56:05.810 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:57:19.914 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:57:21.428 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:57:24.845 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:57:28.585 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:57:29.548 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:57:32.445 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:57:34.572 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:57:42.709 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:01.704 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:02.029 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:02.564 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:02.769 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:03.862 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:03.945 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:58:16.114 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:58:22.944 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 21:58:30.252 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:31.319 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:36.912 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:58:43.083 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:08.857 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:09.137 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:13.170 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:15.157 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:15.417 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:15.951 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:16.282 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:16.681 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:16.764 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:16.887 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:24.565 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:24.942 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:24.943 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:25.314 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:25.352 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:32.049 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:32.404 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:32.441 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:32.767 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:32.785 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:33.185 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:39.017 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:39.293 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:39.680 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:39.894 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:40.765 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:41.097 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:41.272 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:41.452 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:41.856 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:42.253 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:47.263 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:47.536 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:47.960 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:47.999 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:48.423 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:48.500 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:48.537 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:48.719 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:48.971 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 21:59:49.017 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:00.058 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:00.161 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:01.162 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:02.378 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:02.746 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:03.146 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:03.241 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:03.542 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:03.611 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:03.845 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:04.128 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:04.336 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:04.519 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:05.017 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:05.216 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:05.706 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:05.979 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:22.972 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:33.422 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:40.289 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:40.651 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:41.000 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:42.503 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:43.333 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:45.913 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:00:46.132 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:01:44.054 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:01:45.225 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:01:59.587 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:00.192 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:11.836 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:12.325 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:25.124 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:25.385 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:38.043 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:02:39.423 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:03:01.876 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:03:02.141 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:03:32.393 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:03:38.775 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:03:39.272 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:02.142 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:02.743 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:08:11.450 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:08:11.955 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:50.889 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:51.544 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:54.101 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:55.105 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:55.512 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:56.150 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:56.476 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:56.708 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:57.080 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:57.202 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:57.413 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:57.555 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:57.798 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:58.593 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:08:58.703 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:09:00.001 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:09:26.464 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:09:27.605 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:09:28.000 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:14:04.742 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:14:58.785 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:15:02.750 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:15:06.832 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:15:07.141 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:15:43.498 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:15:59.032 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:15:59.251 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:16:07.690 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:16:07.792 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:16:29.754 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:16:30.026 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:16:46.316 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:16:46.525 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:17:16.474 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:17:17.122 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:17:24.639 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:18:07.379 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:18:12.345 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:18:31.540 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:18:44.698 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:18:46.251 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:18:47.340 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:20:59.325 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:20:59.847 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:21:10.379 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:21:19.560 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:21:57.177 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:22:58.044 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:23:02.697 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:23:12.527 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:23:13.541 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:23:27.002 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:23:33.559 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:25:48.080 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:25:50.464 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:25:51.816 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:28:58.972 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:29:01.525 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:29:02.300 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:29:13.960 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:29:17.863 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:29:47.412 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:30:04.882 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:31:04.147 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:31:30.794 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:31:37.984 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation. -!SUBENTRY 1 org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE A conflict occurred for ALT+SHIFT+ARROW_DOWN: -Binding(ALT+SHIFT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.select.last,Restore Last Selection, - Restore last selection, - Category(org.eclipse.ui.category.edit,Edit,null,true), - org.eclipse.ui.internal.MakeHandlersGo@43c1e01d, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.jdt.ui.javaEditorScope,,,system) -Binding(ALT+SHIFT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToNextUnread,Mark Task Read and Go To Next Unread Task, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@230f9f56, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE A conflict occurred for ALT+ARROW_DOWN: -Binding(ALT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.goToNextUnread,Go To Next Unread Task, - , - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - org.eclipse.ui.internal.MakeHandlersGo@5dbb50f3, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -Binding(ALT+ARROW_DOWN, - ParameterizedCommand(Command(org.eclipse.ui.edit.text.moveLineDown,Move Lines Down, - Moves the selected lines down, - Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true), - org.eclipse.ui.internal.MakeHandlersGo@56232a19, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.textEditorScope,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE A conflict occurred for ALT+SHIFT+ARROW_UP: -Binding(ALT+SHIFT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.java.select.enclosing,Select Enclosing Element, - Expand selection to include enclosing element, - Category(org.eclipse.ui.category.edit,Edit,null,true), - org.eclipse.ui.internal.MakeHandlersGo@2b25277b, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.jdt.ui.javaEditorScope,,,system) -Binding(ALT+SHIFT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.markTaskReadGoToPreviousUnread,Mark Task Read and Go To Previous Unread Task, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@67a8eb0a, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE A conflict occurred for ALT+SHIFT+U: -Binding(ALT+SHIFT+U, - ParameterizedCommand(Command(org.eclipse.jdt.ui.edit.text.remove.occurrence.annotations,Remove Occurrence Annotations, - Removes the occurrence annotations from the current editor, - Category(org.eclipse.jdt.ui.category.source,Source,Java Source Actions,true), - org.eclipse.ui.internal.MakeHandlersGo@38823d86, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.jdt.ui.javaEditorScope,,,system) -Binding(ALT+SHIFT+U, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.markTaskUnread,Mark Task Unread, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@773ebb6d, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE A conflict occurred for INSERT: -Binding(INSERT, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.new.local.task,New Local Task, - , - Category(org.eclipse.mylyn.tasks.ui.commands,Task Repositories,null,true), - org.eclipse.ui.internal.MakeHandlersGo@7522540e, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -Binding(INSERT, - ParameterizedCommand(Command(org.eclipse.ui.edit.text.toggleOverwrite,Toggle Overwrite, - Toggle overwrite mode, - Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true), - org.eclipse.ui.internal.MakeHandlersGo@55f2111b, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.textEditorScope,,,system) -!SUBENTRY 1 org.eclipse.jface 2 0 2015-10-16 22:32:48.181 -!MESSAGE A conflict occurred for ALT+ARROW_UP: -Binding(ALT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.mylyn.tasks.ui.command.goToPreviousUnread,Go To Previous Unread Task, - , - Category(org.eclipse.ui.category.navigate,Navigate,null,true), - org.eclipse.ui.internal.MakeHandlersGo@5cbd94b2, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.mylyn.tasks.ui.views.tasks,,,system) -Binding(ALT+ARROW_UP, - ParameterizedCommand(Command(org.eclipse.ui.edit.text.moveLineUp,Move Lines Up, - Moves the selected lines up, - Category(org.eclipse.ui.category.textEditor,Text Editing,Text Editing Commands,true), - org.eclipse.ui.internal.MakeHandlersGo@7c35782e, - ,,true),null), - org.eclipse.ui.defaultAcceleratorConfiguration, - org.eclipse.ui.textEditorScope,,,system) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:34:55.411 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:34:58.624 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:35:00.617 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:35:02.776 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:35:09.922 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:36:02.742 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:36:03.926 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:36:04.334 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:36:05.947 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:36:06.999 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:53.525 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:56.807 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:57.157 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:58.684 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:59.043 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:59.176 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:37:59.512 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:00.399 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:00.689 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:01.439 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:01.870 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:02.213 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:02.766 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:05.145 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:09.133 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:11.340 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:12.904 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:13.263 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:13.675 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:14.128 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:14.493 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:14.648 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:14.717 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:15.099 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:15.167 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:15.469 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:15.503 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:15.796 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:16.479 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:16.809 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:17.146 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:17.306 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:17.385 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:18.721 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:19.161 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:20.361 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:21.062 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:22.194 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:22.743 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:23.428 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:23.688 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:24.923 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:29.112 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:29.995 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:30.746 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:31.323 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:38:31.406 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:40:05.920 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:43:18.080 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-16 22:46:51.295 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:47:01.379 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-16 22:47:02.227 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-17 00:21:22.083 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-17 00:22:11.265 -!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-10-17 00:22:11.428 -!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\Norbi'. 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.jface.text 4 0 2015-10-17 00:22:47.317 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:23:57.380 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:23:58.829 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:23:58.941 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:00.548 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:12.247 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:12.520 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:12.865 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:17.576 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:17.899 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:24:18.251 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:24:22.618 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:24:24.996 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:34:28.758 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:37:44.406 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:41:52.527 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:53:17.841 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 00:53:43.790 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:24.591 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:26.279 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:26.579 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:32.849 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:33.522 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:43.931 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:44.390 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:56:44.431 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:58:14.823 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 00:58:16.783 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 01:00:28.531 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 01:00:29.659 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:01:01.944 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:01:02.390 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:01:15.896 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:01:16.923 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 01:14:48.967 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 01:15:12.494 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 01:16:42.023 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:16:45.405 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:16:46.518 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:16:58.903 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-17 01:17:27.013 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-17 01:18:43.630 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) -!SESSION 2015-10-18 02:48:57.268 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-18 02:49:34.912 -!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-10-18 02:49:35.002 -!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\Norbi'. 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-10-24 10:55:34.076 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-24 10:55:50.139 -!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-10-24 10:55:50.189 -!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\Norbi'. 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.jface.text 2 0 2015-10-24 10:58:51.952 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:58:56.398 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:00.244 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:00.656 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:03.152 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:04.742 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:05.162 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:05.312 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:05.472 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:05.642 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:05.782 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:05.942 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:06.132 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:08.772 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:08.972 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) diff --git a/.metadata/.lock b/.metadata/.lock deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.log b/.metadata/.log deleted file mode 100644 index 61b1a9f..0000000 --- a/.metadata/.log +++ /dev/null @@ -1,10959 +0,0 @@ -!SESSION 2015-10-24 10:55:34.076 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -This is a continuation of log file D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\.metadata\.bak_0.log -Created Time: 2015-10-24 10:59:16.115 - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:16.115 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:16.927 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:25.916 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:26.116 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:26.336 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:26.726 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:26.936 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:27.096 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:27.246 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:27.446 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:27.626 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:27.856 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:28.006 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:28.198 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:28.448 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:28.938 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:29.207 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:29.497 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:30.037 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:30.259 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:31.689 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:32.029 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:32.379 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:32.609 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:37.340 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:38.050 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:38.270 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:38.490 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 10:59:39.680 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:00.114 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:00.594 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:00.914 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:01.264 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:01.674 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:01.864 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:02.124 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:02.354 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:10.362 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:10.802 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:11.392 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:11.472 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:11.802 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:12.293 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:12.633 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:12.960 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:16.147 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:44.504 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:44.974 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:45.114 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:45.274 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:45.434 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:53.925 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.012 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.125 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.277 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.327 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.459 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.499 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.609 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.649 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.669 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.729 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.729 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.769 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:55.869 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:56.309 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:56.489 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:56.789 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:58.171 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:58.361 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:58.533 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:58.663 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:00:58.893 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:00.153 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:03.485 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:04.027 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:06.911 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:07.561 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:07.881 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:08.061 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:08.231 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:08.461 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:09.031 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:09.202 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:09.362 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:09.542 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:10.123 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:10.236 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:01:22.899 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:00.769 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:00.819 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:02.341 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:02.581 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:20.333 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:45.898 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:45.918 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:46.348 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:46.428 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:47.760 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:56.232 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:56.814 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:04:57.254 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:28.931 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:29.071 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:29.261 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:29.701 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:30.011 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:30.241 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:30.441 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:30.641 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:30.831 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:31.081 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:31.311 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:33.875 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:36.598 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:39.850 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:49.030 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:49.340 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:57.320 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:57.550 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:57.590 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:57.800 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:57.950 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:58.130 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:58.320 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:58.510 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:58.694 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:58.874 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:59.234 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:59.424 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:59.614 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:05:59.804 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:00.344 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:00.544 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:00.754 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:00.924 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:01.104 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:04.054 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:04.254 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:04.464 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:04.624 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:05.044 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:05.364 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:05.976 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:06.187 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:06.377 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:06.607 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:06.787 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:06.977 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:06:07.157 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.help.base 4 0 2015-10-24 11:06:23.020 -!MESSAGE Help index declared, but missing for plugin org.eclipse.rse.doc.user. - -!ENTRY org.eclipse.jface.text 4 0 2015-10-24 11:06:28.826 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-24 11:06:32.015 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:09.789 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:14.212 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:14.634 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:14.794 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:14.944 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:15.104 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:15.274 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:15.584 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:15.734 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:15.894 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:16.054 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:16.204 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:16.364 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:16.514 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:16.674 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:16.834 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:17.004 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:17.164 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:17.344 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:17.524 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:17.694 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:17.874 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:18.044 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:18.224 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:18.384 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:18.564 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:18.764 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:18.914 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:19.124 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:19.274 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:19.474 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:19.634 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:19.804 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:19.954 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:20.164 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:20.314 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:20.484 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:20.654 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:20.804 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:20.994 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:21.164 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:21.334 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:21.484 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:21.664 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:21.824 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:22.014 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:22.174 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:22.334 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:22.544 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:22.714 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:22.894 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:23.154 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:23.274 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:23.424 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:23.604 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:23.784 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:23.964 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:24.154 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:24.334 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:24.484 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:24.674 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:24.844 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:25.034 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:25.224 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:25.414 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:25.614 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.014 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.134 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.286 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.366 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.536 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.736 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:26.866 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:27.046 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:27.196 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:27.416 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:27.536 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:27.706 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:27.876 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:28.086 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:28.216 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:28.356 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:28.526 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:28.716 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:28.896 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:29.076 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:29.256 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:29.426 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:29.586 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:29.806 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:29.976 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:30.156 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:30.346 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:30.516 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:30.686 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:30.846 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:31.040 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:31.350 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:31.510 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:31.670 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:31.850 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.020 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.160 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.360 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.530 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.670 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.820 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:32.960 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:33.500 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:35.550 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:37.724 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:38.086 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:38.416 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:38.706 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:38.956 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:39.286 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:39.596 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:39.886 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:40.216 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:40.496 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:40.766 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:41.036 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:41.656 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:41.866 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:42.256 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:42.466 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:42.896 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:43.306 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:43.966 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:44.426 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:46.561 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:47.781 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:50.371 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:53.121 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:55.561 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:57.581 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:07:59.511 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:08:01.330 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:08:03.750 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 11:08:10.696 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:11.158 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:12.265 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:14.143 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:14.503 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:15.018 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:15.286 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:15.867 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:16.290 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:17.070 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:17.137 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:17.138 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:17.261 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:17.436 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:17.552 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:20.937 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:21.101 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:21.327 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:21.436 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:21.621 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:21.813 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:21.995 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:22.302 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:22.575 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:22.935 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:23.378 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:23.703 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:24.138 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:24.570 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:24.922 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:25.129 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:25.322 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:25.604 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:25.636 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:26.333 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:26.485 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:26.699 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:26.937 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:27.124 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:27.323 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:27.561 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:27.897 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:29.190 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:29.428 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:30.045 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:30.338 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:30.598 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:30.850 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:31.070 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:31.435 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:31.733 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:31.962 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:32.207 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:32.469 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:32.686 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:33.019 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:33.531 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:33.742 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:33.995 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:34.257 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:34.515 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:34.777 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:35.023 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:35.291 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:35.572 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:35.803 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:36.034 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:36.327 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:36.621 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:36.912 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:37.250 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:37.485 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:37.691 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:37.885 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:38.086 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:38.297 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:38.508 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:38.919 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:39.119 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:39.323 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:39.501 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:39.688 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:39.910 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:41.201 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:41.649 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:42.273 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:42.674 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:43.427 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:45.124 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:46.232 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:47.744 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:48.035 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:48.246 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:48.561 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:49.176 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:49.642 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:49.815 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:49.940 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:50.116 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:51.418 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:12:51.720 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:41.817 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:44.438 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:46.110 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:58.269 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:58.493 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:58.558 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:58.613 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:58.790 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:14:59.158 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:01.850 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:05.078 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:08.380 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:10.575 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:12.798 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:15.433 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:17.789 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:21.346 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:27.831 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:31.961 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:34.672 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:40.897 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:45.337 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:15:59.819 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:04.021 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:04.755 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:07.545 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:09.226 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:11.381 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:14.008 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:15.613 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:16.508 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:16:22.417 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-24 13:28:04.881 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:37:57.603 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:40:38.341 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-24 13:41:09.662 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:41:27.321 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:41:33.830 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:41:35.971 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:41:36.181 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 13:41:36.458 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-24 14:07:47.685 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:23.816 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2$2.visit(JavadocContentAccess2.java:682) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2$InheritDocVisitor.visitInheritDocInterfaces(JavadocContentAccess2.java:203) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2$InheritDocVisitor.visitInheritDoc(JavadocContentAccess2.java:157) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.findAttachedDocInHierarchy(JavadocContentAccess2.java:688) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:467) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:41.551 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:42.612 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:43.433 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:43.622 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:43.804 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:44.278 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:44.457 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:49.820 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:50.900 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:51.060 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:51.746 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:52.161 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:58.858 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:59.073 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:59.440 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:59.620 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:08:59.801 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:00.003 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:00.375 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:00.553 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:00.742 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:00.929 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:01.092 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:01.262 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:02.530 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-24 14:09:12.919 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:44.613 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2$2.visit(JavadocContentAccess2.java:682) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2$InheritDocVisitor.visitInheritDocInterfaces(JavadocContentAccess2.java:203) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2$InheritDocVisitor.visitInheritDoc(JavadocContentAccess2.java:157) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.findAttachedDocInHierarchy(JavadocContentAccess2.java:688) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:467) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:51.256 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:53.877 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:54.147 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:09:55.781 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:01.659 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:03.501 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:03.858 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:04.017 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:04.176 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:04.345 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:04.500 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:05.039 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:05.225 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:05.408 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:05.602 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 14:10:06.749 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-24 20:27:18.137 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 2 10035 2015-10-24 20:27:23.285 -!MESSAGE The workspace exited with unsaved changes in the previous session; refreshing workspace to recover changes. - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-24 20:28:25.888 -!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-10-24 20:28:26.126 -!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\Norbi'. 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.jface.text 2 0 2015-10-24 22:47:05.424 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:30.450 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:34.246 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:34.842 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:34.999 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:42.079 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:42.213 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:42.285 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:47.291 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:47.395 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:47.605 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:47.796 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:47.923 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:48.618 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryField.getAttachedJavadoc(BinaryField.java:121) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:50.173 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:50.728 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:50.910 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:51.105 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:51.445 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:51.732 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:51.918 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:52.338 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:53.176 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:53.439 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:54.295 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:54.545 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:54.940 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:55.139 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:55.289 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:55.517 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:56.939 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-24 22:58:57.241 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-25 18:37:50.854 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-25 18:38:34.574 -!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-10-25 18:38:34.852 -!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\Norbi'. 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-10-27 21:38:34.271 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-27 21:39:13.483 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-27 21:39:13.791 -!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\Norbi'. 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-10-30 18:05:14.227 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product -data D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-30 18:05:32.299 -!MESSAGE Warning: EGit couldn't detect the installation path "gitPrefix" of native Git. Hence EGit can't respect system level -Git settings which might be configured in ${gitPrefix}/etc/gitconfig under the native Git installation directory. -The most important of these settings is core.autocrlf. Git for Windows by default sets this parameter to true in -this system level configuration. The Git installation location can be configured on the -Team > Git > Configuration preference page's 'System Settings' tab. -This warning can be switched off on the Team > Git > Confirmations and Warnings preference page. - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-30 18:05:32.559 -!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\Norbi'. 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.jface.text 4 0 2015-10-30 18:14:39.028 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:17:22.508 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:17:55.497 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:17:55.960 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:17:56.541 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:17:58.880 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:18:00.137 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:18:02.017 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:18:02.915 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:18:03.161 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:18:03.340 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:18:03.444 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:19:08.159 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:19:10.666 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:19:16.621 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:19:17.322 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:19:21.082 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:20:09.525 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:20:09.728 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-30 18:30:47.356 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-10-30 18:30:48.319 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:31:58.691 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:32:00.197 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:32:00.796 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:07.837 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:26.253 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:27.471 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:29.582 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:30.556 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:31.122 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 18:37:34.375 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-10-30 19:03:41.245 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -!SESSION 2015-10-31 15:11:31.168 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-31 15:12:05.755 -!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-10-31 15:12:05.834 -!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\Norbi'. 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-10-31 21:20:30.900 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-10-31 21:21:30.643 -!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-10-31 21:21:30.722 -!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\Norbi'. 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-11-09 18:42:13.845 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-11-09 18:42:56.068 -!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-11-09 18:42:56.128 -!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\Norbi'. 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-11-09 20:57:04.690 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-11-09 20:57:32.822 -!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-11-09 20:57:32.901 -!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\Norbi'. 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.jface.text 4 0 2015-11-09 21:06:27.484 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-11-09 21:06:28.366 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:15:45.686 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:15:45.919 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:14.076 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:20.616 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:22.652 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:23.135 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:23.226 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:24.362 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:24.572 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:24.694 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:24.883 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:17:25.058 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:27:13.236 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-11-09 21:34:24.079 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:45:58.953 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:46:28.988 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:46:29.168 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-09 21:46:29.503 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jdt.ui 4 10001 2015-11-09 21:47:06.381 -!MESSAGE Internal Error -!STACK 0 -java.lang.reflect.InvocationTargetException - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421) - at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.executeExportOperation(JarPackageWizard.java:167) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.performFinish(JarPackageWizard.java:270) - at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) - at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) - at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) - at org.eclipse.jface.window.Window.open(Window.java:801) - at org.eclipse.ui.internal.handlers.WizardHandler$Export.executeHandler(WizardHandler.java:103) - at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:279) - at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:515) - at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157) - at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) - at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) - at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.core.runtime.SubMonitor$RootInfo.isCanceled(SubMonitor.java:259) - at org.eclipse.core.runtime.SubMonitor.isCanceled(SubMonitor.java:516) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.jdt.internal.core.JavaModelOperation.isCanceled(JavaModelOperation.java:541) - at org.eclipse.jdt.internal.core.JavaModelOperation.checkCanceled(JavaModelOperation.java:226) - at org.eclipse.jdt.internal.core.JavaModelOperation.worked(JavaModelOperation.java:882) - at org.eclipse.jdt.internal.core.CommitWorkingCopyOperation.executeOperation(CommitWorkingCopyOperation.java:166) - at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793) - at org.eclipse.jdt.internal.core.CompilationUnit.commitWorkingCopy(CompilationUnit.java:391) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1376) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1449) - at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132) - at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69) - at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) - at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5066) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1247) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1301) - at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7198) - at org.eclipse.ui.Saveable.doSave(Saveable.java:214) - at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346) - at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193) - at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274) - at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) - at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1679) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1676) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261) - at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204) - at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.doSave(CompatibilityPart.java:417) - at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:201) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:89) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1223) - at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3437) - at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3455) - at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) - at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) - at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) - at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) - at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) - at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) - at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -Caused by: java.lang.IllegalStateException: Cannot fork a thread from a thread owning a rule - at org.eclipse.ui.actions.WorkspaceModifyOperation.threadChange(WorkspaceModifyOperation.java:148) - at org.eclipse.jface.operation.ModalContext.invokeThreadListener(ModalContext.java:442) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:383) - ... 145 more -Root exception: -java.lang.IllegalStateException: Cannot fork a thread from a thread owning a rule - at org.eclipse.ui.actions.WorkspaceModifyOperation.threadChange(WorkspaceModifyOperation.java:148) - at org.eclipse.jface.operation.ModalContext.invokeThreadListener(ModalContext.java:442) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:383) - at org.eclipse.jface.wizard.WizardDialog.run(WizardDialog.java:1028) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.executeExportOperation(JarPackageWizard.java:167) - at org.eclipse.jdt.internal.ui.jarpackager.JarPackageWizard.performFinish(JarPackageWizard.java:270) - at org.eclipse.jface.wizard.WizardDialog.finishPressed(WizardDialog.java:827) - at org.eclipse.jface.wizard.WizardDialog.buttonPressed(WizardDialog.java:432) - at org.eclipse.jface.dialogs.Dialog$2.widgetSelected(Dialog.java:624) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.jface.window.Window.runEventLoop(Window.java:825) - at org.eclipse.jface.window.Window.open(Window.java:801) - at org.eclipse.ui.internal.handlers.WizardHandler$Export.executeHandler(WizardHandler.java:103) - at org.eclipse.ui.internal.handlers.WizardHandler.execute(WizardHandler.java:279) - at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:290) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommand(LegacyHandlerService.java:515) - at org.eclipse.ui.internal.actions.CommandAction.runWithEvent(CommandAction.java:157) - at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584) - at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501) - at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123) - at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.core.runtime.SubMonitor$RootInfo.isCanceled(SubMonitor.java:259) - at org.eclipse.core.runtime.SubMonitor.isCanceled(SubMonitor.java:516) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.core.runtime.ProgressMonitorWrapper.isCanceled(ProgressMonitorWrapper.java:106) - at org.eclipse.jdt.internal.core.JavaModelOperation.isCanceled(JavaModelOperation.java:541) - at org.eclipse.jdt.internal.core.JavaModelOperation.checkCanceled(JavaModelOperation.java:226) - at org.eclipse.jdt.internal.core.JavaModelOperation.worked(JavaModelOperation.java:882) - at org.eclipse.jdt.internal.core.CommitWorkingCopyOperation.executeOperation(CommitWorkingCopyOperation.java:166) - at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793) - at org.eclipse.jdt.internal.core.CompilationUnit.commitWorkingCopy(CompilationUnit.java:391) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1376) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1449) - at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132) - at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69) - at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75) - at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456) - at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772) - at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5066) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1247) - at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1301) - at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7198) - at org.eclipse.ui.Saveable.doSave(Saveable.java:214) - at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346) - at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193) - at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274) - at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372) - at org.eclipse.ui.internal.WorkbenchWindow$13.run(WorkbenchWindow.java:1679) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) - at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:1676) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282) - at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261) - at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204) - at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.doSave(CompatibilityPart.java:417) - at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:201) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:89) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.savePart(PartServiceImpl.java:1223) - at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3437) - at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3455) - at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:76) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:498) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:119) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:76) - at sun.reflect.GeneratedMethodAccessor21.invoke(Unknown Source) - at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) - at java.lang.reflect.Method.invoke(Unknown Source) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:212) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:131) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:171) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:277) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:496) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:547) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:368) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:314) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:83) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1104) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1100) - at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1521) - at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4640) - at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:4528) - at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:4976) - at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) - at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2546) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3756) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) -!SESSION 2015-11-14 21:07:44.128 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.core.resources 4 567 2015-11-14 21:07:49.345 -!MESSAGE Could not read metadata for 'D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\.metadata\.plugins\org.eclipse.core.resources\.root\.indexes\properties.index'. Unexpected version: 0. - -!ENTRY org.eclipse.jdt.launching 4 4 2015-11-14 21:08:08.134 -!MESSAGE Content is not allowed in prolog. -!STACK 0 -org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) - at org.eclipse.jdt.internal.launching.LaunchingPlugin.readInstallInfo(LaunchingPlugin.java:1012) - at org.eclipse.jdt.internal.launching.LaunchingPlugin.timeStampChanged(LaunchingPlugin.java:976) - at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.populateVMForType(VMDefinitionsContainer.java:551) - at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.populateVMTypes(VMDefinitionsContainer.java:488) - at org.eclipse.jdt.internal.launching.VMDefinitionsContainer.parseXMLIntoContainer(VMDefinitionsContainer.java:467) - at org.eclipse.jdt.launching.JavaRuntime.addPersistedVMs(JavaRuntime.java:1488) - at org.eclipse.jdt.launching.JavaRuntime.initializeVMs(JavaRuntime.java:2654) - at org.eclipse.jdt.launching.JavaRuntime.getVMInstallTypes(JavaRuntime.java:532) - at org.eclipse.jdt.internal.launching.environments.EnvironmentsManager.initializeCompatibilities(EnvironmentsManager.java:234) - at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.init(ExecutionEnvironment.java:177) - at org.eclipse.jdt.internal.launching.environments.ExecutionEnvironment.getDefaultVM(ExecutionEnvironment.java:214) - at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java:173) - at org.eclipse.jdt.internal.launching.JREContainerInitializer.resolveVM(JREContainerInitializer.java:140) - at org.eclipse.jdt.internal.launching.JREContainerInitializer.initialize(JREContainerInitializer.java:57) - at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2843) - at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1878) - at org.eclipse.jdt.core.JavaCore.getClasspathContainer(JavaCore.java:3128) - at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2691) - at org.eclipse.jdt.internal.core.JavaProject.resolveClasspath(JavaProject.java:2855) - at org.eclipse.jdt.internal.core.JavaProject.getResolvedClasspath(JavaProject.java:1960) - at org.eclipse.jdt.internal.core.JavaProject.buildStructure(JavaProject.java:463) - at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258) - at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:518) - at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:255) - at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:241) - at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo(JavaProject.java:1640) - at org.eclipse.jdt.internal.core.JavaProject.newNameLookup(JavaProject.java:2327) - at org.eclipse.jdt.internal.core.SearchableEnvironment.(SearchableEnvironment.java:59) - at org.eclipse.jdt.internal.core.SearchableEnvironment.(SearchableEnvironment.java:66) - at org.eclipse.jdt.internal.core.CancelableNameEnvironment.(CancelableNameEnvironment.java:26) - at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:176) - at org.eclipse.jdt.internal.core.CompilationUnitProblemFinder.process(CompilationUnitProblemFinder.java:269) - at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.makeConsistent(ReconcileWorkingCopyOperation.java:190) - at org.eclipse.jdt.internal.core.ReconcileWorkingCopyOperation.executeOperation(ReconcileWorkingCopyOperation.java:89) - at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728) - at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788) - at org.eclipse.jdt.internal.core.CompilationUnit.reconcile(CompilationUnit.java:1247) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:126) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.access$0(JavaReconcilingStrategy.java:108) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy$1.run(JavaReconcilingStrategy.java:89) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.reconcile(JavaReconcilingStrategy.java:87) - at org.eclipse.jdt.internal.ui.text.java.JavaReconcilingStrategy.initialReconcile(JavaReconcilingStrategy.java:178) - at org.eclipse.jdt.internal.ui.text.CompositeReconcilingStrategy.initialReconcile(CompositeReconcilingStrategy.java:114) - at org.eclipse.jdt.internal.ui.text.JavaCompositeReconcilingStrategy.initialReconcile(JavaCompositeReconcilingStrategy.java:136) - at org.eclipse.jface.text.reconciler.MonoReconciler.initialProcess(MonoReconciler.java:105) - at org.eclipse.jdt.internal.ui.text.JavaReconciler.initialProcess(JavaReconciler.java:406) - at org.eclipse.jface.text.reconciler.AbstractReconciler$BackgroundThread.run(AbstractReconciler.java:173) - -!ENTRY org.eclipse.egit.ui 2 0 2015-11-14 21:08:21.092 -!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-11-14 21:08:21.093 -!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\Norbi'. 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.jdt.ui 4 10001 2015-11-14 21:08:25.297 -!MESSAGE Internal Error -!STACK 1 -org.eclipse.jdt.internal.ui.JavaUIException: Problems reading information from XML 'OpenTypeHistory.xml' - at org.eclipse.jdt.internal.corext.util.History.createException(History.java:71) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:260) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:168) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.(OpenTypeHistory.java:199) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.getInstance(OpenTypeHistory.java:185) - at org.eclipse.jdt.internal.ui.JavaPlugin.initializeAfterLoad(JavaPlugin.java:395) - at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:37) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) -Caused by: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:258) - ... 6 more -!SUBENTRY 1 org.eclipse.jdt.ui 4 4 2015-11-14 21:08:25.297 -!MESSAGE Problems reading information from XML 'OpenTypeHistory.xml' -!STACK 0 -org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source) - at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source) - at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(Unknown Source) - at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(Unknown Source) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:258) - at org.eclipse.jdt.internal.corext.util.History.load(History.java:168) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.(OpenTypeHistory.java:199) - at org.eclipse.jdt.internal.corext.util.OpenTypeHistory.getInstance(OpenTypeHistory.java:185) - at org.eclipse.jdt.internal.ui.JavaPlugin.initializeAfterLoad(JavaPlugin.java:395) - at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:37) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-11-14 21:09:01.620 -!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl Commands.java -!STACK 0 -org.eclipse.swt.SWTException: Widget is disposed - at org.eclipse.swt.SWT.error(SWT.java:4361) - at org.eclipse.swt.SWT.error(SWT.java:4276) - at org.eclipse.swt.SWT.error(SWT.java:4247) - at org.eclipse.swt.widgets.Widget.error(Widget.java:468) - at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) - at org.eclipse.swt.widgets.Control.setFocus(Control.java:3301) - at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1038) - at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1038) - at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120) - at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setFocus(JavaEditor.java:2389) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:189) - 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:208) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:106) - at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:101) - at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$9.mouseUp(StackRenderer.java:942) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) - -!ENTRY org.eclipse.e4.ui.workbench 4 0 2015-11-14 21:09:12.820 -!MESSAGE Error setting focus to : org.eclipse.e4.ui.model.application.ui.basic.impl.PartImpl Commands.java -!STACK 0 -org.eclipse.swt.SWTException: Widget is disposed - at org.eclipse.swt.SWT.error(SWT.java:4361) - at org.eclipse.swt.SWT.error(SWT.java:4276) - at org.eclipse.swt.SWT.error(SWT.java:4247) - at org.eclipse.swt.widgets.Widget.error(Widget.java:468) - at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:340) - at org.eclipse.swt.widgets.Control.setFocus(Control.java:3301) - at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1038) - at org.eclipse.swt.widgets.Composite.setFocus(Composite.java:1038) - at org.eclipse.ui.texteditor.StatusTextEditor.setFocus(StatusTextEditor.java:120) - at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.setFocus(JavaEditor.java:2389) - at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.delegateSetFocus(CompatibilityPart.java:189) - 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.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:231) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:237) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:208) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:106) - at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer$2.setFocus(ContributedPartRenderer.java:101) - at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer$9.mouseUp(StackRenderer.java:942) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:220) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1053) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:942) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86) - at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:588) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:543) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180) - at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at sun.reflect.NativeMethodAccessorImpl.invoke(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:629) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584) - at org.eclipse.equinox.launcher.Main.run(Main.java:1438) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:08.153 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:08.852 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:14.165 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:14.844 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:15.475 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:16.964 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:17.205 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:17.598 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:17.949 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:18.131 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:18.338 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:18.582 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:18.821 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:19.622 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:19.870 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:20.054 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:20.342 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:20.581 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:20.893 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:26.324 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:26.457 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:26.671 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:27.007 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:36.864 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:38.673 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:39.000 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:41.142 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:42.030 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:18:43.517 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:19:08.190 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:19:18.575 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:19:20.431 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 2 0 2015-11-14 21:19:20.621 -!MESSAGE -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.extractJavadoc(ProposalInfo.java:95) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.computeInfo(ProposalInfo.java:75) - at org.eclipse.jdt.internal.ui.text.java.ProposalInfo.getInfo(ProposalInfo.java:58) - at org.eclipse.jdt.internal.ui.text.java.AbstractJavaCompletionProposal.getAdditionalProposalInfo(AbstractJavaCompletionProposal.java:555) - at org.eclipse.jface.text.contentassist.AdditionalInfoController$3.run(AdditionalInfoController.java:106) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53) - -!ENTRY org.eclipse.jface.text 4 0 2015-11-14 21:28:36.814 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-11-14 21:51:21.349 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) - -!ENTRY org.eclipse.jface.text 4 0 2015-11-14 22:22:50.617 -!MESSAGE Unexpected runtime error while computing a text hover -!STACK 0 -java.lang.StringIndexOutOfBoundsException: String index out of range: -10 - at java.lang.String.checkBounds(Unknown Source) - at java.lang.String.(Unknown Source) - at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:786) - at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) - at org.eclipse.jdt.internal.core.BinaryMethod.getAttachedJavadoc(BinaryMethod.java:639) - at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) - at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) - at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) - at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) - at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) -!SESSION 2015-11-16 20:42:47.680 ----------------------------------------------- -eclipse.buildId=M20130204-1200 -java.version=1.8.0_45 -java.vendor=Oracle Corporation -BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=hu_HU -Framework arguments: -product org.eclipse.epp.package.jee.product -Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product - -!ENTRY org.eclipse.egit.ui 2 0 2015-11-16 20:43:27.091 -!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-11-16 20:43:27.766 -!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\Norbi'. 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/.metadata/.mylyn/.taskListIndex/segments.gen b/.metadata/.mylyn/.taskListIndex/segments.gen deleted file mode 100644 index 63a7ec9..0000000 Binary files a/.metadata/.mylyn/.taskListIndex/segments.gen and /dev/null differ diff --git a/.metadata/.mylyn/.taskListIndex/segments_1 b/.metadata/.mylyn/.taskListIndex/segments_1 deleted file mode 100644 index de74fdf..0000000 Binary files a/.metadata/.mylyn/.taskListIndex/segments_1 and /dev/null differ diff --git a/.metadata/.mylyn/.tasks.xml.zip b/.metadata/.mylyn/.tasks.xml.zip deleted file mode 100644 index 6fee973..0000000 Binary files a/.metadata/.mylyn/.tasks.xml.zip and /dev/null differ diff --git a/.metadata/.mylyn/repositories.xml.zip b/.metadata/.mylyn/repositories.xml.zip deleted file mode 100644 index d205b35..0000000 Binary files a/.metadata/.mylyn/repositories.xml.zip and /dev/null differ diff --git a/.metadata/.mylyn/tasks.xml.zip b/.metadata/.mylyn/tasks.xml.zip deleted file mode 100644 index 7497b68..0000000 Binary files a/.metadata/.mylyn/tasks.xml.zip and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/0/b052507c0e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/0/b052507c0e8b00151149b99c05b1b975 deleted file mode 100644 index 1e60dca..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/0/b052507c0e8b00151149b99c05b1b975 +++ /dev/null @@ -1,316 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1/a0191b15d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1/a0191b15d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 85f16ce..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1/a0191b15d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,374 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { - System.out.println("Auto-flair plugin cleanup for reloading..."); //2015.08.09. - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/10/d0e4ec032387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/10/d0e4ec032387001519af89c6c0264943 deleted file mode 100644 index f82a5f8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/10/d0e4ec032387001519af89c6c0264943 +++ /dev/null @@ -1,306 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.set("quiz", Commands.Quiz); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/11/e01f2e4b2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/11/e01f2e4b2287001519af89c6c0264943 deleted file mode 100644 index ecfa676..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/11/e01f2e4b2287001519af89c6c0264943 +++ /dev/null @@ -1,575 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/12/b09714c2cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/12/b09714c2cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 206b53a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/12/b09714c2cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/14/20b7f4c2d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/14/20b7f4c2d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5cf5c6e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/14/20b7f4c2d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true; - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/15/5014e4bc2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/15/5014e4bc2287001519af89c6c0264943 deleted file mode 100644 index d5d1e81..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/15/5014e4bc2287001519af89c6c0264943 +++ /dev/null @@ -1,583 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, null); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } else if (args.length > 0 && args[0].toLowerCase().equals("quiz")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0689143d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0689143d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index b72f226..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/15/a0689143d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,221 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done."); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); //2015.08.09. - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/17/507a5da62287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/17/507a5da62287001519af89c6c0264943 deleted file mode 100644 index 965c069..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/17/507a5da62287001519af89c6c0264943 +++ /dev/null @@ -1,577 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, null); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/19/50c4f47b2087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/19/50c4f47b2087001519af89c6c0264943 deleted file mode 100644 index f9a764a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/19/50c4f47b2087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/19/c0e42302ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/19/c0e42302ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 84912b7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/19/c0e42302ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,354 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": - finalflair=""; //2015.08.09. - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/b04e3d72168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/b04e3d72168b00151149b99c05b1b975 deleted file mode 100644 index 93e033c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/b04e3d72168b00151149b99c05b1b975 +++ /dev/null @@ -1,5 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -public class PlayerJoinTimerTask { - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/c0bedf60e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/c0bedf60e640001514c09dece48b36c7 deleted file mode 100644 index bc3d453..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/c0bedf60e640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, arg2, arg3) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50b35f3bd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50b35f3bd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index f15dd12..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1c/50b35f3bd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,376 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1c/a0ecf93ad23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1c/a0ecf93ad23e001518fa86d7ae2a1cf8 deleted file mode 100644 index f15dd12..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1c/a0ecf93ad23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,376 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1d/40013c152287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/1d/40013c152287001519af89c6c0264943 deleted file mode 100644 index d2a9262..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1d/40013c152287001519af89c6c0264943 +++ /dev/null @@ -1,579 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1d/709a3bde2d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/1d/709a3bde2d53001516cdaaef55e27ba4 deleted file mode 100644 index dcd717b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1d/709a3bde2d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,15 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" -author: NorbiPeti -depend: [Essentials, Towny] \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/20ce3447d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/20ce3447d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index 869953e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/20ce3447d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,224 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done."); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/606a09eede40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/606a09eede40001514c09dece48b36c7 deleted file mode 100644 index d1dda6d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/606a09eede40001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§6The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/a0477e13d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/a0477e13d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index f26d723..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/a0477e13d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,220 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done."); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); //2015.08.09. - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/b057e861ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/b057e861ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 4343f31..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/b057e861ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,31 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public FlairClassType FlairType; //2015.08.09. - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - /*public enum FlairClassType - { //2015.08.09. - NonPresser, - CantPress, - Undecided - }*/ -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/d0e4168be540001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/d0e4168be540001514c09dece48b36c7 deleted file mode 100644 index 8742a9c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/d0e4168be540001514c09dece48b36c7 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/203f7772d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/1f/203f7772d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index efbed4c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1f/203f7772d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,380 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2/008fa000f34500151ebce83b3129f79d b/.metadata/.plugins/org.eclipse.core.resources/.history/2/008fa000f34500151ebce83b3129f79d deleted file mode 100644 index 9f10d95..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2/008fa000f34500151ebce83b3129f79d +++ /dev/null @@ -1,78 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - public static String NotificationSound; //2015.08.14. - public static float NotificationPitch; //2015.08.14. - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - String color=""; //2015.08.17. - if(message.contains(p.getName())) - { - if(NotificationSound==null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); //2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, NotificationPitch); //2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.17. - color=mp.Flair.substring(0, 2); - } - message = message.replaceAll(p.getName(), color+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - Object handle = Reflection.getHandle(player); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2/a06adb06d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/2/a06adb06d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2ccf0cc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2/a06adb06d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,219 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); //2015.08.09. - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/802a22d2de40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/20/802a22d2de40001514c09dece48b36c7 deleted file mode 100644 index 2df291c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/20/802a22d2de40001514c09dece48b36c7 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message.replaceAll(p.getName(), ) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/20/b08b3094cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/20/b08b3094cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 50ac8ec..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/20/b08b3094cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,364 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/21/40187b959b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/21/40187b959b8c0015169bb4f96b251538 deleted file mode 100644 index d146e2f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/21/40187b959b8c0015169bb4f96b251538 +++ /dev/null @@ -1,328 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if (Ftimer != null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/21/c0a02994e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/21/c0a02994e640001514c09dece48b36c7 deleted file mode 100644 index 8bd4265..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/21/c0a02994e640001514c09dece48b36c7 +++ /dev/null @@ -1,74 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - if(message.contains(p.getName())) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 1.0f); //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/22/40feff6ce640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/22/40feff6ce640001514c09dece48b36c7 deleted file mode 100644 index 4e9ef04..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/22/40feff6ce640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0, 1.0); //2015.08.12. - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/22/a091cfc4d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/22/a091cfc4d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5d7321f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/22/a091cfc4d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/23/a0c7c72cd33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/23/a0c7c72cd33e001518fa86d7ae2a1cf8 deleted file mode 100644 index f17161d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/23/a0c7c72cd33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,216 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; - //SendMessage(player, msg); //2015.08.09. - - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/25/3067ea8bd13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/25/3067ea8bd13e001518fa86d7ae2a1cf8 deleted file mode 100644 index c1c6d6a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/25/3067ea8bd13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,326 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - Load(false); - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/25/4082086f2087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/25/4082086f2087001519af89c6c0264943 deleted file mode 100644 index 9c0f2e1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/25/4082086f2087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'), - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/25/c05ce792e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/25/c05ce792e640001514c09dece48b36c7 deleted file mode 100644 index 12d9c01..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/25/c05ce792e640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 1.0f); //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/26/20c757a6168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/26/20c757a6168b00151149b99c05b1b975 deleted file mode 100644 index 7fc48cf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/26/20c757a6168b00151149b99c05b1b975 +++ /dev/null @@ -1,323 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp=mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/26/20fee89fce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/26/20fee89fce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index ab06769..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/26/20fee89fce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,360 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/26/a0111a40d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/26/a0111a40d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 61ec61c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/26/a0111a40d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/27/9011edbed23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/27/9011edbed23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 717cff8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/27/9011edbed23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/27/f08a8910cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/27/f08a8910cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 999a5ae..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/27/f08a8910cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) - { - - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/309e6352d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/28/309e6352d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index d073151..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/28/309e6352d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,216 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/a02aeb89168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/28/a02aeb89168b00151149b99c05b1b975 deleted file mode 100644 index 7cab85b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/28/a02aeb89168b00151149b99c05b1b975 +++ /dev/null @@ -1,10 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.TimerTask; - -public class PlayerJoinTimerTask extends TimerTask { - - @Override - public abstract void run(); - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/29/40e1da43e340001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/29/40e1da43e340001514c09dece48b36c7 deleted file mode 100644 index b844d5e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/29/40e1da43e340001514c09dece48b36c7 +++ /dev/null @@ -1,295 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin...§r"); - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/29/50338b22e340001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/29/50338b22e340001514c09dece48b36c7 deleted file mode 100644 index 4f33dd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/29/50338b22e340001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/20868515d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/20868515d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index ccaedeb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/20868515d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,363 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2b/20adfe8f138b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/2b/20adfe8f138b00151149b99c05b1b975 deleted file mode 100644 index 22720e2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2b/20adfe8f138b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2b/702271ffde40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/2b/702271ffde40001514c09dece48b36c7 deleted file mode 100644 index e334416..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2b/702271ffde40001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/209f3c7b168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/2c/209f3c7b168b00151149b99c05b1b975 deleted file mode 100644 index e053f25..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2c/209f3c7b168b00151149b99c05b1b975 +++ /dev/null @@ -1,7 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.TimerTask; - -public class PlayerJoinTimerTask extends TimerTask { - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2d/b05650032387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/2d/b05650032387001519af89c6c0264943 deleted file mode 100644 index f82a5f8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2d/b05650032387001519af89c6c0264943 +++ /dev/null @@ -1,306 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.set("quiz", Commands.Quiz); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/90fc2ebfd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/90fc2ebfd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 717cff8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/90fc2ebfd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/30/20a0c374d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/30/20a0c374d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 641be01..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/30/20a0c374d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,345 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/30/60f899dc2d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/30/60f899dc2d53001516cdaaef55e27ba4 deleted file mode 100644 index dcd717b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/30/60f899dc2d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,15 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" -author: NorbiPeti -depend: [Essentials, Towny] \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/31/20f593fb158b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/31/20f593fb158b00151149b99c05b1b975 deleted file mode 100644 index 2a6f01f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/31/20f593fb158b00151149b99c05b1b975 +++ /dev/null @@ -1,322 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - TimerTask tt=new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - } - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/31/b04c406a0e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/31/b04c406a0e8b00151149b99c05b1b975 deleted file mode 100644 index 787667b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/31/b04c406a0e8b00151149b99c05b1b975 +++ /dev/null @@ -1,321 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw ") - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e1dbcdcf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e1dbcdcf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 276d1df..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/31/c0e1dbcdcf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,363 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(player, p); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/32/40c22aa12287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/32/40c22aa12287001519af89c6c0264943 deleted file mode 100644 index 73882d7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/32/40c22aa12287001519af89c6c0264943 +++ /dev/null @@ -1,577 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, commandblock); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/32/a09be810128b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/32/a09be810128b00151149b99c05b1b975 deleted file mode 100644 index 495f91b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/32/a09be810128b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"§bIf you'd like your flair displayed ingame, write your §bMinecraft §bname to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/32/a0c729e6158b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/32/a0c729e6158b00151149b99c05b1b975 deleted file mode 100644 index 5febe6a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/32/a0c729e6158b00151149b99c05b1b975 +++ /dev/null @@ -1,319 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/30320daa0f8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/34/30320daa0f8b00151149b99c05b1b975 deleted file mode 100644 index cafbacd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/30320daa0f8b00151149b99c05b1b975 +++ /dev/null @@ -1,319 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/509e3a962287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/34/509e3a962287001519af89c6c0264943 deleted file mode 100644 index e15933a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/509e3a962287001519af89c6c0264943 +++ /dev/null @@ -1,574 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/60480de22187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/34/60480de22187001519af89c6c0264943 deleted file mode 100644 index e478310..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/60480de22187001519af89c6c0264943 +++ /dev/null @@ -1,588 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/b097b71bce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/34/b097b71bce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 1f5948c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/b097b71bce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,354 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/35/d0edb6ae2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/35/d0edb6ae2287001519af89c6c0264943 deleted file mode 100644 index 906c66a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/35/d0edb6ae2287001519af89c6c0264943 +++ /dev/null @@ -1,583 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, null); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/20e61fc4d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/37/20e61fc4d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 39f0d07..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/37/20e61fc4d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,370 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/a0d4af822187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/37/a0d4af822187001519af89c6c0264943 deleted file mode 100644 index b21e1aa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/37/a0d4af822187001519af89c6c0264943 +++ /dev/null @@ -1,584 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/37/c0f63c61e240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/37/c0f63c61e240001514c09dece48b36c7 deleted file mode 100644 index 7cad3e7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/37/c0f63c61e240001514c09dece48b36c7 +++ /dev/null @@ -1,451 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - public static ConsoleSender Console; //2015.08.12. - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - //System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - /*else - flair = "non-presser";*/ - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - //return p.Flair!=null; //2015.08.08. - return p.CommentedOnReddit; //2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - p.FlairRecognised=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(--s)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(??s)§r"; - break; - case "unknown": - if(text.equals("-1")) //If true, only non-presser/can't press; if false, any flair - p.FlairDecided=false; - else - p.FlairRecognised=false; - finalflair=""; - break; - default: - //finalflair=""; - //break; - return; - } - /*if(finalflair.length()==0) //<-- 2015.07.20. - return;*/ - p.Flair=finalflair; //2015.08.08. - p.CommentedOnReddit=true; //2015.08.10. - p.UserName=username; //2015.08.08. - if(finalflair.length()==0) //Just for the message - finalflair="undecided"; - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - //return flair==null ? "" : flair; - return flair; //2015.08.10. - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - //AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - /*private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - *String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]); - p.Flair=s[1]; //2015.08.09. - p.CommentedOnReddit=true; //Kind of - } - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if(!tempFile.renameTo(inputFile)) - { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } - else - return true; - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/38/5089bf762287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/38/5089bf762287001519af89c6c0264943 deleted file mode 100644 index f650060..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/38/5089bf762287001519af89c6c0264943 +++ /dev/null @@ -1,574 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/38/a0f3a0e9cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/38/a0f3a0e9cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 327e9f3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/38/a0f3a0e9cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,197 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(player, p); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/38/e08c48b99a8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/38/e08c48b99a8c0015169bb4f96b251538 deleted file mode 100644 index f473ea1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/38/e08c48b99a8c0015169bb4f96b251538 +++ /dev/null @@ -1,336 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/39/2006034ad03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/39/2006034ad03e001518fa86d7ae2a1cf8 deleted file mode 100644 index c6af7c6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/39/2006034ad03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,201 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/30bdb825cd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/3b/30bdb825cd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index a9fdf9d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/30bdb825cd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,25 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/b0717c88118b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/3b/b0717c88118b00151149b99c05b1b975 deleted file mode 100644 index ea60810..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3b/b0717c88118b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"§6If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/205637bed23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/205637bed23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 19e20e0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/205637bed23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true) - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/d00a0e58e240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/3c/d00a0e58e240001514c09dece48b36c7 deleted file mode 100644 index e68eaa6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3c/d00a0e58e240001514c09dece48b36c7 +++ /dev/null @@ -1,450 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - //System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - /*else - flair = "non-presser";*/ - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - //return p.Flair!=null; //2015.08.08. - return p.CommentedOnReddit; //2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - p.FlairRecognised=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(--s)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(??s)§r"; - break; - case "unknown": - if(text.equals("-1")) //If true, only non-presser/can't press; if false, any flair - p.FlairDecided=false; - else - p.FlairRecognised=false; - finalflair=""; - break; - default: - //finalflair=""; - //break; - return; - } - /*if(finalflair.length()==0) //<-- 2015.07.20. - return;*/ - p.Flair=finalflair; //2015.08.08. - p.CommentedOnReddit=true; //2015.08.10. - p.UserName=username; //2015.08.08. - if(finalflair.length()==0) //Just for the message - finalflair="undecided"; - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - //return flair==null ? "" : flair; - return flair; //2015.08.10. - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - //AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - /*private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - *String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]); - p.Flair=s[1]; //2015.08.09. - p.CommentedOnReddit=true; //Kind of - } - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if(!tempFile.renameTo(inputFile)) - { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } - else - return true; - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/6022916ee240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/3e/6022916ee240001514c09dece48b36c7 deleted file mode 100644 index 75e4c81..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3e/6022916ee240001514c09dece48b36c7 +++ /dev/null @@ -1,452 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - public static ConsoleCommandSender Console; //2015.08.12. - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - //System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - /*else - flair = "non-presser";*/ - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - //return p.Flair!=null; //2015.08.08. - return p.CommentedOnReddit; //2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - p.FlairRecognised=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(--s)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(??s)§r"; - break; - case "unknown": - if(text.equals("-1")) //If true, only non-presser/can't press; if false, any flair - p.FlairDecided=false; - else - p.FlairRecognised=false; - finalflair=""; - break; - default: - //finalflair=""; - //break; - return; - } - /*if(finalflair.length()==0) //<-- 2015.07.20. - return;*/ - p.Flair=finalflair; //2015.08.08. - p.CommentedOnReddit=true; //2015.08.10. - p.UserName=username; //2015.08.08. - if(finalflair.length()==0) //Just for the message - finalflair="undecided"; - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - //return flair==null ? "" : flair; - return flair; //2015.08.10. - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - //AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - /*private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - *String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]); - p.Flair=s[1]; //2015.08.09. - p.CommentedOnReddit=true; //Kind of - } - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if(!tempFile.renameTo(inputFile)) - { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } - else - return true; - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/606d4a802187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/606d4a802187001519af89c6c0264943 deleted file mode 100644 index 1a45a79..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/606d4a802187001519af89c6c0264943 +++ /dev/null @@ -1,496 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/a0709f19cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/a0709f19cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 9476659..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/a0709f19cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/b0d12138168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/b0d12138168b00151149b99c05b1b975 deleted file mode 100644 index dc337a3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/b0d12138168b00151149b99c05b1b975 +++ /dev/null @@ -1,323 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - var tt = new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp=mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/c0cb3f450e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/3f/c0cb3f450e8b00151149b99c05b1b975 deleted file mode 100644 index 83648c5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3f/c0cb3f450e8b00151149b99c05b1b975 +++ /dev/null @@ -1,322 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - - sendRawMessage(p, json); - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw ") - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4/b030d637cd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/4/b030d637cd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 587e2b6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4/b030d637cd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,29 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - //public - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - public enum FlairClassType - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4/d0391ad32187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/4/d0391ad32187001519af89c6c0264943 deleted file mode 100644 index c4ed7e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4/d0391ad32187001519af89c6c0264943 +++ /dev/null @@ -1,588 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/40/5022d9fb2187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/40/5022d9fb2187001519af89c6c0264943 deleted file mode 100644 index 6219a81..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/40/5022d9fb2187001519af89c6c0264943 +++ /dev/null @@ -1,588 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/41/c0bb756d9b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/41/c0bb756d9b8c0015169bb4f96b251538 deleted file mode 100644 index 1eef614..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/41/c0bb756d9b8c0015169bb4f96b251538 +++ /dev/null @@ -1,338 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if (Ftimer != null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/41/e0ddf8b42087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/41/e0ddf8b42087001519af89c6c0264943 deleted file mode 100644 index c69af8f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/41/e0ddf8b42087001519af89c6c0264943 +++ /dev/null @@ -1,496 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index=Integer.parseInt(args[2]); - if(index>100) - break; - while(PluginMain.AnnounceMessages.size()<=) - - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/44/3078a0bed23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/44/3078a0bed23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 717cff8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/44/3078a0bed23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/45/d00b6c840c8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/45/d00b6c840c8b00151149b99c05b1b975 deleted file mode 100644 index 76a001d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/45/d00b6c840c8b00151149b99c05b1b975 +++ /dev/null @@ -1,302 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/46/50ec87042387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/46/50ec87042387001519af89c6c0264943 deleted file mode 100644 index f82a5f8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/46/50ec87042387001519af89c6c0264943 +++ /dev/null @@ -1,306 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.set("quiz", Commands.Quiz); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/46/a0e24f1ad43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/46/a0e24f1ad43e001518fa86d7ae2a1cf8 deleted file mode 100644 index 678f6a5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/46/a0e24f1ad43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,221 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done."); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); //2015.08.09. - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/46/d0c39d6c2087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/46/d0c39d6c2087001519af89c6c0264943 deleted file mode 100644 index 165abae..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/46/d0c39d6c2087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§');) - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/47/209354bad13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/47/209354bad13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 1a55983..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/47/209354bad13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,370 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - if(reload) - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/47/20a74d8ad13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/47/20a74d8ad13e001518fa86d7ae2a1cf8 deleted file mode 100644 index c0e1cef..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/47/20a74d8ad13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,368 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/47/509b62022387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/47/509b62022387001519af89c6c0264943 deleted file mode 100644 index c25c622..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/47/509b62022387001519af89c6c0264943 +++ /dev/null @@ -1,305 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/48/b0715a760e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/48/b0715a760e8b00151149b99c05b1b975 deleted file mode 100644 index 96be6c6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/48/b0715a760e8b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/49/203c0b4ad33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/49/203c0b4ad33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 1cec033..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/49/203c0b4ad33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/49/a04d8dc3d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/49/a04d8dc3d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5d7321f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/49/a04d8dc3d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/49/b0556e29ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/49/b0556e29ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 26a60f9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/49/b0556e29ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,355 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/20662b05d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/4a/20662b05d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 63c2d54..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/20662b05d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c036c9a02187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c036c9a02187001519af89c6c0264943 deleted file mode 100644 index d643bd6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4a/c036c9a02187001519af89c6c0264943 +++ /dev/null @@ -1,584 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/203dd097ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/4b/203dd097ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 4e85b74..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/203dd097ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,358 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/40b1bfa8755d001515f3fd278c34f57e b/.metadata/.plugins/org.eclipse.core.resources/.history/4b/40b1bfa8755d001515f3fd278c34f57e deleted file mode 100644 index 2d88af8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4b/40b1bfa8755d001515f3fd278c34f57e +++ /dev/null @@ -1,465 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; -import org.apache.commons.io.IOUtils; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if (HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(ign, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(String playername) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(playername); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(playername); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - for (Player player : getServer().getOnlinePlayers()) // <-- 2015.08.08. - { - if (player.getName().equals(playername)) { - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; // 2015.08.08. - // return flair==null ? "" : flair; - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static String GetPlayerTown(Player player) { // 2015.07.20. - try { - Town town = WorldCoord.parseWorldCoord(player).getTownBlock() - .getTown(); // TODO - return town.getName(); - } catch (Exception e) { - return ""; - } - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("flairsaccepted.txt"); - if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader( - "flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) { - String name = line.replace("\n", ""); - // System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair = true; // 2015.08.08. - } - br.close(); - } - file = new File("flairsignored.txt"); - if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader( - "flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) { - String name = line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair = true; // 2015.08.08. - } - br.close(); - } - file = new File("autoflairconfig.txt"); - if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader(file)); - String line; - while ((line = br.readLine()) != null) { - String[] s = line.split(" "); - if (s.length >= 2) // <-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file = new File("customflairs.txt"); // 2015.08.09. - if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader(file)); - String line; - while ((line = br.readLine()) != null) { - String[] s = line.split(" "); - if (s.length >= 2) // 2015.08.10. - { - MaybeOfflinePlayer p = MaybeOfflinePlayer - .AddPlayerIfNeeded(s[0]); - p.Flair = s[1]; // 2015.08.09. - p.CommentedOnReddit = true; // Kind of - p.FlairDecided = true; - p.FlairRecognised = true; - } - } - br.close(); - } - file = new File("notificationsound.txt"); // 2015.08.09. - if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader(file)); - String line = br.readLine(); - String[] split = line.split(" "); - PlayerListener.NotificationSound = split[0]; - PlayerListener.NotificationPitch = Float.parseFloat(split[1]); - br.close(); - } - file = new File("announcemessages.txt"); // 2015.08.09. - if (file.exists()) { - BufferedReader br = new BufferedReader(new FileReader(file)); - String line; - boolean first = true; - while ((line = br.readLine()) != null) { - if (first) { - AnnounceTime = Integer.parseInt(line.trim()); - first = false; - } else - AnnounceMessages.add(line.trim()); - } - br.close(); - } else { - // Write time - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file)); - bw.write(AnnounceTime + "\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - try { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } catch (Exception e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - try { - File file = new File("flairsaccepted.txt"); - BufferedWriter bw = new BufferedWriter(new FileWriter(file, true)); - for (MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers - .values()) // <-- 2015.08.08. - { - if (!player.AcceptedFlair) - continue; // 2015.08.08. - bw.write(player.PlayerName + "\n"); - } - bw.close(); - file = new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for (MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers - .values()) // <-- 2015.08.08. - { - if (!player.IgnoredFlair) - continue; // 2015.08.08. - bw.write(player.PlayerName + "\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static boolean RemoveLineFromFile(String file, String line) { // 2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if (!inputFile.exists()) - return true; // 2015.08.10. - - try { - BufferedReader reader = new BufferedReader( - new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while ((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - if (trimmedLine.split(" ")[0].equals(lineToRemove)) - continue; // 2015.08.17. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if (!tempFile.renameTo(inputFile)) { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } else - return true; - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - return false; - } - - public static boolean RemoveLineFromFile(String file, int index) { - File inputFile = new File(file); - File tempFile = new File("_temp2.txt"); - - if (!inputFile.exists()) - return true; // 2015.08.10. - - try { - BufferedReader reader = new BufferedReader( - new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String currentLine; - int i = 0; - - while ((currentLine = reader.readLine()) != null) { - if (i++ == index) - continue; - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if (!tempFile.renameTo(inputFile)) { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } else - return true; - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4c/e09817299b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/4c/e09817299b8c0015169bb4f96b251538 deleted file mode 100644 index 9c86abb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4c/e09817299b8c0015169bb4f96b251538 +++ /dev/null @@ -1,335 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4d/a0ee15dcd13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/4d/a0ee15dcd13e001518fa86d7ae2a1cf8 deleted file mode 100644 index fb29d4f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4d/a0ee15dcd13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,373 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - if(reload) - { - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4d/c0d5180e2087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/4d/c0d5180e2087001519af89c6c0264943 deleted file mode 100644 index 286977e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4d/c0d5180e2087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "&cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4e/40170f730e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/4e/40170f730e8b00151149b99c05b1b975 deleted file mode 100644 index 84f4288..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4e/40170f730e8b00151149b99c05b1b975 +++ /dev/null @@ -1,319 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/51/408cc87e9b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/51/408cc87e9b8c0015169bb4f96b251538 deleted file mode 100644 index d146e2f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/51/408cc87e9b8c0015169bb4f96b251538 +++ /dev/null @@ -1,328 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if (Ftimer != null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/40b494f5e540001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/53/40b494f5e540001514c09dece48b36c7 deleted file mode 100644 index d9ec7da..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/40b494f5e540001514c09dece48b36c7 +++ /dev/null @@ -1,72 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(arg0, arg1, arg2, arg3) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/d0c1dad6e440001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/53/d0c1dad6e440001514c09dece48b36c7 deleted file mode 100644 index 159e3e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/d0c1dad6e440001514c09dece48b36c7 +++ /dev/null @@ -1,296 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin...§r"); - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/55/c0fc6b25cd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/55/c0fc6b25cd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 6549d0e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/55/c0fc6b25cd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,24 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/56/205a1cf9d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/56/205a1cf9d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index d7286f9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/56/205a1cf9d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,374 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { - System.out.println("Reloading files for auto-flair plugin..."); //2015.08.09. - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/57/2084190f168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/57/2084190f168b00151149b99c05b1b975 deleted file mode 100644 index 91fbd1b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/57/2084190f168b00151149b99c05b1b975 +++ /dev/null @@ -1,323 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp=mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5b/008c7edd2d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/5b/008c7edd2d53001516cdaaef55e27ba4 deleted file mode 100644 index 9a58544..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5b/008c7edd2d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,16 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" -author: NorbiPeti -depend: [Essentials, Towny] -s \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e0d83cf9de40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e0d83cf9de40001514c09dece48b36c7 deleted file mode 100644 index 68a104f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5b/e0d83cf9de40001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/a03b3ea1d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/5c/a03b3ea1d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 3d0defb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5c/a03b3ea1d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,219 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(); - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/30629c52168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/5d/30629c52168b00151149b99c05b1b975 deleted file mode 100644 index 91fbd1b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/30629c52168b00151149b99c05b1b975 +++ /dev/null @@ -1,323 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp=mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/a0a6c2d0d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/5d/a0a6c2d0d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5d7321f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/a0a6c2d0d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/a0befd81d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/5d/a0befd81d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 3318744..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5d/a0befd81d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,216 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5e/c0d6d38be640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/5e/c0d6d38be640001514c09dece48b36c7 deleted file mode 100644 index cbc9ea1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5e/c0d6d38be640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 1.0f); //2015.08.12. - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/2061341bd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/2061341bd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index ff39b38..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/2061341bd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,375 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/50257859e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/50257859e640001514c09dece48b36c7 deleted file mode 100644 index c192f31..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/50257859e640001514c09dece48b36c7 +++ /dev/null @@ -1,72 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), , arg2, arg3) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/c0b28923ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/c0b28923ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 26a60f9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/c0b28923ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,355 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/2029114dd33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/2029114dd33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 14132d5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/2029114dd33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,216 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; - p.sendMessage(msg); - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/208a8252ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/208a8252ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 7477f60..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/208a8252ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,31 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public FlairClassType FlairType; //2015.08.09. - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - public enum FlairClassType - { //2015.08.09. - NonPresser, - CantPress, - Undecided - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/3059a485168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/3059a485168b00151149b99c05b1b975 deleted file mode 100644 index 29d7d48..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/3059a485168b00151149b99c05b1b975 +++ /dev/null @@ -1,13 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.TimerTask; - -public class PlayerJoinTimerTask extends TimerTask { - - @Override - public void run() { - // TODO Auto-generated method stub - - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/50be8b389b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/50be8b389b8c0015169bb4f96b251538 deleted file mode 100644 index c14fab2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/50be8b389b8c0015169bb4f96b251538 +++ /dev/null @@ -1,337 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if(Ftimer!=null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6/a032431fd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6/a032431fd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index b21f1ef..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6/a032431fd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,375 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/60/c08d9b862187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/60/c08d9b862187001519af89c6c0264943 deleted file mode 100644 index 1a45a79..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/60/c08d9b862187001519af89c6c0264943 +++ /dev/null @@ -1,496 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/61/b05b2a30138b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/61/b05b2a30138b00151149b99c05b1b975 deleted file mode 100644 index 110ed43..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/61/b05b2a30138b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "/tellraw @p ["",{"text":"If you'd like your flair displayed ingame, write your Minecraft name to ","color":"aqua"},{"text":"[this thread].","color":"aqua","clickEvent":{"action":"open_url","value":"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/"},"hoverEvent":{"action":"show_text","value":{"text":"","extra":[{"text":"Click here to go to the Reddit thread","color":"aqua"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/61/b0779e98d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/61/b0779e98d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index f7dee03..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/61/b0779e98d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,205 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/206c2677ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/63/206c2677ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index c13bb09..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/63/206c2677ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,358 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairType=FlairClassType.Undecided; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/d06551420941001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/63/d06551420941001514c09dece48b36c7 deleted file mode 100644 index e93fc19..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/63/d06551420941001514c09dece48b36c7 +++ /dev/null @@ -1,74 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - if(message.contains(p.getName())) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/64/202fdd3acd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/64/202fdd3acd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index d2a8475..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/64/202fdd3acd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,31 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - //public - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - public enum FlairClassType - { - NonPresser, - CantPress, - Undecided - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/64/20a74791d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/64/20a74791d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5a05c55..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/64/20a74791d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,205 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - return; - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/65/50f69b6c168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/65/50f69b6c168b00151149b99c05b1b975 deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/67/c0952ea8e240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/67/c0952ea8e240001514c09dece48b36c7 deleted file mode 100644 index 340df89..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/67/c0952ea8e240001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message) - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/20a2e34ad03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/20a2e34ad03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 330b73a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/20a2e34ad03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,201 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - s - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/406f8416e340001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/6a/406f8416e340001514c09dece48b36c7 deleted file mode 100644 index 4f33dd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6a/406f8416e340001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/700669952d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/6b/700669952d53001516cdaaef55e27ba4 deleted file mode 100644 index 5b3245c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/700669952d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,13 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/c000fac32187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/6b/c000fac32187001519af89c6c0264943 deleted file mode 100644 index b17eebe..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/c000fac32187001519af89c6c0264943 +++ /dev/null @@ -1,587 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz=new ArrayList<>(); - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/20b08dced03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/20b08dced03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 0384150..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/20b08dced03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,211 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/500072fecd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/500072fecd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5740654..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/500072fecd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,351 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/506c7d4ee140001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/506c7d4ee140001514c09dece48b36c7 deleted file mode 100644 index 8742a9c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/506c7d4ee140001514c09dece48b36c7 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/b03244ed9a8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/6c/b03244ed9a8c0015169bb4f96b251538 deleted file mode 100644 index 4133f3d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6c/b03244ed9a8c0015169bb4f96b251538 +++ /dev/null @@ -1,335 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - timer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/60f4f3db2d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/60f4f3db2d53001516cdaaef55e27ba4 deleted file mode 100644 index f7e6157..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/60f4f3db2d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,14 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" -author: NorbiPeti \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/a01e1adad13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/a01e1adad13e001518fa86d7ae2a1cf8 deleted file mode 100644 index fb29d4f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/a01e1adad13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,373 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - if(reload) - { - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/d0c7e2022387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/6e/d0c7e2022387001519af89c6c0264943 deleted file mode 100644 index 0ffda58..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6e/d0c7e2022387001519af89c6c0264943 +++ /dev/null @@ -1,306 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.set("quiz", Commands.Quiz) - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0569c5ae240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0569c5ae240001514c09dece48b36c7 deleted file mode 100644 index 5a0d8b8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0569c5ae240001514c09dece48b36c7 +++ /dev/null @@ -1,451 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - public static ConsoleSender Console; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - //System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - /*else - flair = "non-presser";*/ - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - //return p.Flair!=null; //2015.08.08. - return p.CommentedOnReddit; //2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - p.FlairRecognised=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(--s)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(??s)§r"; - break; - case "unknown": - if(text.equals("-1")) //If true, only non-presser/can't press; if false, any flair - p.FlairDecided=false; - else - p.FlairRecognised=false; - finalflair=""; - break; - default: - //finalflair=""; - //break; - return; - } - /*if(finalflair.length()==0) //<-- 2015.07.20. - return;*/ - p.Flair=finalflair; //2015.08.08. - p.CommentedOnReddit=true; //2015.08.10. - p.UserName=username; //2015.08.08. - if(finalflair.length()==0) //Just for the message - finalflair="undecided"; - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - //return flair==null ? "" : flair; - return flair; //2015.08.10. - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - //AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - /*private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - *String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]); - p.Flair=s[1]; //2015.08.09. - p.CommentedOnReddit=true; //Kind of - } - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if(!tempFile.renameTo(inputFile)) - { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } - else - return true; - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0a7c5c8ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0a7c5c8ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 752a73d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7/d0a7c5c8ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,361 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/71/b09765e7d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/71/b09765e7d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 738511a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/71/b09765e7d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,373 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/75/00578f8b118b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/75/00578f8b118b00151149b99c05b1b975 deleted file mode 100644 index 610774c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/75/00578f8b118b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"§6If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/75/200e61c5d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/75/200e61c5d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 03f8e7b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/75/200e61c5d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,209 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/75/20bc5301d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/75/20bc5301d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 7e0571a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/75/20bc5301d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,222 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/75/a0acffa2d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/75/a0acffa2d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2b15b31..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/75/a0acffa2d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,368 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/77/10dec4cbce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/77/10dec4cbce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5908a1d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/77/10dec4cbce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,360 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/78/a0991cb7d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/78/a0991cb7d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2a4b609..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/78/a0991cb7d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,370 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - if(reload) - MaybeOfflinePlayer.AllPlayers.clear(); - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/78/b0ba5a02168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/78/b0ba5a02168b00151149b99c05b1b975 deleted file mode 100644 index 40e5e1d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/78/b0ba5a02168b00151149b99c05b1b975 +++ /dev/null @@ -1,322 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/79/40cb73222287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/79/40cb73222287001519af89c6c0264943 deleted file mode 100644 index 6cbbd2d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/79/40cb73222287001519af89c6c0264943 +++ /dev/null @@ -1,575 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7a/d040fb952187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/7a/d040fb952187001519af89c6c0264943 deleted file mode 100644 index 75f77aa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7a/d040fb952187001519af89c6c0264943 +++ /dev/null @@ -1,584 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/3014764dcd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/3014764dcd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index c8a5a26..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/3014764dcd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,31 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - //public - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - public enum FlairClassType - { //2015.08.09. - NonPresser, - CantPress, - Undecided - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/a0934f14cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/a0934f14cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index ad8a270..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/a0934f14cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/d028e4369b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/d028e4369b8c0015169bb4f96b251538 deleted file mode 100644 index 9c86abb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/d028e4369b8c0015169bb4f96b251538 +++ /dev/null @@ -1,335 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/a005617fd13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/7d/a005617fd13e001518fa86d7ae2a1cf8 deleted file mode 100644 index dbcf375..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7d/a005617fd13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,363 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/407c9a362287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/7e/407c9a362287001519af89c6c0264943 deleted file mode 100644 index 0ae0b9b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7e/407c9a362287001519af89c6c0264943 +++ /dev/null @@ -1,575 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8/303bccc40e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/8/303bccc40e8b00151149b99c05b1b975 deleted file mode 100644 index 342781a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8/303bccc40e8b00151149b99c05b1b975 +++ /dev/null @@ -1,317 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/80/4075d399d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/80/4075d399d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 8abed8b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/80/4075d399d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,206 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/80/506d6dc22187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/80/506d6dc22187001519af89c6c0264943 deleted file mode 100644 index b17eebe..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/80/506d6dc22187001519af89c6c0264943 +++ /dev/null @@ -1,587 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz=new ArrayList<>(); - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0e3d39bd13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0e3d39bd13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 81f3985..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/81/b0e3d39bd13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,326 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/82/201f90d5d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/82/201f90d5d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 0384150..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/82/201f90d5d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,211 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/83/20a1e315cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/83/20a1e315cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 72f8cf3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/83/20a1e315cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/84/a0c00f13cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/84/a0c00f13cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 999a5ae..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/84/a0c00f13cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) - { - - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/85/401c3763e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/85/401c3763e640001514c09dece48b36c7 deleted file mode 100644 index ee7ab82..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/85/401c3763e640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0, arg3) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8c/a0ea662dcf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/8c/a0ea662dcf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 1213563..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8c/a0ea662dcf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/e0f3df742287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/e0f3df742287001519af89c6c0264943 deleted file mode 100644 index ffe0c3c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/e0f3df742287001519af89c6c0264943 +++ /dev/null @@ -1,574 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8e/d06563122287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/8e/d06563122287001519af89c6c0264943 deleted file mode 100644 index fb4fbfe..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8e/d06563122287001519af89c6c0264943 +++ /dev/null @@ -1,579 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String message : Quiz) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/f041e4b79a8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/f041e4b79a8c0015169bb4f96b251538 deleted file mode 100644 index 4bc1f47..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/f041e4b79a8c0015169bb4f96b251538 +++ /dev/null @@ -1,319 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/90/c0d422e92287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/90/c0d422e92287001519af89c6c0264943 deleted file mode 100644 index 522f7ee..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/90/c0d422e92287001519af89c6c0264943 +++ /dev/null @@ -1,304 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/91/c01c0d9ecf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/91/c01c0d9ecf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index a085586..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/91/c01c0d9ecf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.Flair!=null) - PluginMain.AppendPlayerDisplayFlair(p, mp.UserName, mp.Flair); - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(flair==null || !player.AcceptedFlair) - flair=""; //2015.08.08. - String message=event.getMessage(); //2015.08.08. - /*for(Player p : PluginMain.GetPlayers()) - { //2015.08.08. - message.replaceAll(p.getName(), ) - }*/ - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/93/10f3fc0acf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/93/10f3fc0acf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index a62c891..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/93/10f3fc0acf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,361 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/93/5044523e0e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/93/5044523e0e8b00151149b99c05b1b975 deleted file mode 100644 index 0c65462..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/93/5044523e0e8b00151149b99c05b1b975 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - p.sendMessage(message); - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/93/d0f07864d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/93/d0f07864d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index f15dd12..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/93/d0f07864d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,376 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/94/2033b6d6d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/94/2033b6d6d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 6ac02e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/94/2033b6d6d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,373 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - System.out.println("Loading files for auto-flair plugin..."); - if(reload) - { - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/96/206d0ff9158b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/96/206d0ff9158b00151149b99c05b1b975 deleted file mode 100644 index bad7ae2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/96/206d0ff9158b00151149b99c05b1b975 +++ /dev/null @@ -1,321 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/96/20ba5e09d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/96/20ba5e09d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index 6a40e1a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/96/20ba5e09d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,219 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done."); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); //2015.08.09. - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/20ad60e0d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/20ad60e0d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 4c2bf02..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/20ad60e0d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,211 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="" - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/a0aae0bdd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/a0aae0bdd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 229de7d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/a0aae0bdd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,223 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/c037f44de440001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/c037f44de440001514c09dece48b36c7 deleted file mode 100644 index 5c4b806..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/c037f44de440001514c09dece48b36c7 +++ /dev/null @@ -1,296 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin...§r"); - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player)s - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/c0e2ad6fce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/c0e2ad6fce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 28be51a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/c0e2ad6fce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,357 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairType=FlairClassType.Undecided; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/d0c07d01198b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/d0c07d01198b00151149b99c05b1b975 deleted file mode 100644 index 8859bb0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/d0c07d01198b00151149b99c05b1b975 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - //if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/97/f0a3a5f1de40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/97/f0a3a5f1de40001514c09dece48b36c7 deleted file mode 100644 index a5817c9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/97/f0a3a5f1de40001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/201af098d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/98/201af098d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index f7dee03..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/98/201af098d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,205 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/4037ffce9b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/98/4037ffce9b8c0015169bb4f96b251538 deleted file mode 100644 index eed069e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/98/4037ffce9b8c0015169bb4f96b251538 +++ /dev/null @@ -1,328 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event - .getPlayer().getUniqueId()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(e - .getPlayer().getUniqueId()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if (Ftimer != null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/502802722287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/98/502802722287001519af89c6c0264943 deleted file mode 100644 index 80d0bdc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/98/502802722287001519af89c6c0264943 +++ /dev/null @@ -1,303 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/90dce6d5ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/90dce6d5ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index f48f1b4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/90dce6d5ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,361 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/a0aebdacd03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/a0aebdacd03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 8abed8b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/a0aebdacd03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,206 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e08e32dd2d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e08e32dd2d53001516cdaaef55e27ba4 deleted file mode 100644 index 9626fec..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9a/e08e32dd2d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,15 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" -author: NorbiPeti -depend: [Essentials, Towny] diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9b/50bd8c072287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/9b/50bd8c072287001519af89c6c0264943 deleted file mode 100644 index 6988ef3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9b/50bd8c072287001519af89c6c0264943 +++ /dev/null @@ -1,579 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9c/30bb8899d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/9c/30bb8899d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2e695ac..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9c/30bb8899d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,326 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - Load(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/206f5678168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/9e/206f5678168b00151149b99c05b1b975 deleted file mode 100644 index da21c4a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/206f5678168b00151149b99c05b1b975 +++ /dev/null @@ -1,5 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -public class PlayerJoinTimerTask extends TimerTask { - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/40b3b3122387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/9f/40b3b3122387001519af89c6c0264943 deleted file mode 100644 index 5eaa277..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9f/40b3b3122387001519af89c6c0264943 +++ /dev/null @@ -1,306 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.set("quiz", Commands.Quiz);F - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/1035b42cd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/1035b42cd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 3051444..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/1035b42cd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,376 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/40b13fdfb94400151637bde96975c236 b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/40b13fdfb94400151637bde96975c236 deleted file mode 100644 index b71fce5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/40b13fdfb94400151637bde96975c236 +++ /dev/null @@ -1,7 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system and others, like name mentioning - usage: "&cUsage: /u accept|ignore|opme&r" diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/a05e6526d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/a1/a05e6526d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 7d30f89..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a1/a05e6526d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,375 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/206c0ba2d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/206c0ba2d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 23364ef..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/206c0ba2d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,222 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/20ecb1f0d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/20ecb1f0d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 41fefc9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/20ecb1f0d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,211 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a4/30f2b3fa118b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/a4/30f2b3fa118b00151149b99c05b1b975 deleted file mode 100644 index 610774c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a4/30f2b3fa118b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"§6If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a4/a0f428a3d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/a4/a0f428a3d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 72b38bc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a4/a0f428a3d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,219 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/102ab363e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/a5/102ab363e640001514c09dece48b36c7 deleted file mode 100644 index 06ce0fb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/102ab363e640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0, 1.0) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a6/306d822d138b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/a6/306d822d138b00151149b99c05b1b975 deleted file mode 100644 index 51eb7f9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a6/306d822d138b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/4016faaee240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/4016faaee240001514c09dece48b36c7 deleted file mode 100644 index f1e321a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/4016faaee240001514c09dece48b36c7 +++ /dev/null @@ -1,299 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a9/a0007674168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/a9/a0007674168b00151149b99c05b1b975 deleted file mode 100644 index 724679a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a9/a0007674168b00151149b99c05b1b975 +++ /dev/null @@ -1,5 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -public class PlayerJoinTimerTask extends { - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a9/c09d79ad2087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/a9/c09d79ad2087001519af89c6c0264943 deleted file mode 100644 index cd9aa82..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a9/c09d79ad2087001519af89c6c0264943 +++ /dev/null @@ -1,495 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index=Integer.parseInt(args[2]); - if() - while(PluginMain.AnnounceMessages.size()<=) - - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/a076f09ad33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/aa/a076f09ad33e001518fa86d7ae2a1cf8 deleted file mode 100644 index cb3725d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/aa/a076f09ad33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,218 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ab/c07bf623e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/ab/c07bf623e640001514c09dece48b36c7 deleted file mode 100644 index 7c5cf6b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ab/c07bf623e640001514c09dece48b36c7 +++ /dev/null @@ -1,72 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), arg1, arg2, arg3) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/50a4ecaae240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/ac/50a4ecaae240001514c09dece48b36c7 deleted file mode 100644 index e8643bd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ac/50a4ecaae240001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/60b39408d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/60b39408d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index 05f66ff..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/60b39408d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,220 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done."); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - DoReload(player); //2015.08.09. - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/b067a2dd2d53001516cdaaef55e27ba4 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/b067a2dd2d53001516cdaaef55e27ba4 deleted file mode 100644 index 9626fec..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/b067a2dd2d53001516cdaaef55e27ba4 +++ /dev/null @@ -1,15 +0,0 @@ -name: TheButtonMCPlugin -main: tk.sznp.thebuttonautoflair.PluginMain -version: 2.0 -commands: - u: - description: Auto-flair system. Accept or ignore flair. - usage: "&cUsage: /u accept|ignore|opme&r" - nrp: - description: Send message in Out-of-Character - usage: "&cUsage: /nrp &r" - ooc: - description: Send message in Out-of-Character - usage: "&cUsage: /ooc &r" -author: NorbiPeti -depend: [Essentials, Towny] diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/c0954ebcce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/c0954ebcce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2284d68..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/c0954ebcce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,361 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/d005e8c02187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/d005e8c02187001519af89c6c0264943 deleted file mode 100644 index b17eebe..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/d005e8c02187001519af89c6c0264943 +++ /dev/null @@ -1,587 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz=new ArrayList<>(); - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/e01e43fdde40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/ad/e01e43fdde40001514c09dece48b36c7 deleted file mode 100644 index 9bf1e2e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ad/e01e43fdde40001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/1023a9f9cc3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/1023a9f9cc3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 21abae7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/1023a9f9cc3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,194 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/d01c7740e340001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/d01c7740e340001514c09dece48b36c7 deleted file mode 100644 index 233a816..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/d01c7740e340001514c09dece48b36c7 +++ /dev/null @@ -1,295 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin..."); - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/af/60ef08a60c8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/af/60ef08a60c8b00151149b99c05b1b975 deleted file mode 100644 index 7bdfaaf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/af/60ef08a60c8b00151149b99c05b1b975 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - p.sendMessage(message); - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b/301da326cd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b/301da326cd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 3d05e25..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b/301da326cd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,25 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b/707985099b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/b/707985099b8c0015169bb4f96b251538 deleted file mode 100644 index fa81ad7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b/707985099b8c0015169bb4f96b251538 +++ /dev/null @@ -1,334 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - timer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20248930cd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20248930cd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index a73501d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/20248930cd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,25 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - //public - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/30440676d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b1/30440676d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index c6af7c6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b1/30440676d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,201 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b2/d06fefa82287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/b2/d06fefa82287001519af89c6c0264943 deleted file mode 100644 index 986f05b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b2/d06fefa82287001519af89c6c0264943 +++ /dev/null @@ -1,584 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, null); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/100a9853d43e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/100a9853d43e001518fa86d7ae2a1cf8 deleted file mode 100644 index 9a2577a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/100a9853d43e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,224 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - if(ReloadPlayer.equals(player)) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/30deaf0b148b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/30deaf0b148b00151149b99c05b1b975 deleted file mode 100644 index 22720e2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/30deaf0b148b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50a8a0439b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50a8a0439b8c0015169bb4f96b251538 deleted file mode 100644 index 1eef614..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/50a8a0439b8c0015169bb4f96b251538 +++ /dev/null @@ -1,338 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if (Ftimer != null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/c04f9e03ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/c04f9e03ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 68717ab..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/c04f9e03ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,354 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided":; //2015.08.09. - finalflair="" - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/f0d62592e540001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/f0d62592e540001514c09dece48b36c7 deleted file mode 100644 index 1ac0551..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/f0d62592e540001514c09dece48b36c7 +++ /dev/null @@ -1,72 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.sendMessage() - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/202ce194d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b5/202ce194d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2e695ac..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/202ce194d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,326 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - Load(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/40ecd766ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b5/40ecd766ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 39e5134..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/40ecd766ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,31 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public boolean FlairSet; //2015.08.09. - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - /*public enum FlairClassType - { //2015.08.09. - NonPresser, - CantPress, - Undecided - }*/ -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/e01fc9c92187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/b5/e01fc9c92187001519af89c6c0264943 deleted file mode 100644 index b4dc6e7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b5/e01fc9c92187001519af89c6c0264943 +++ /dev/null @@ -1,588 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/20667af5cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/20667af5cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index eab3194..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/20667af5cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,197 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/30123c0f148b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/30123c0f148b00151149b99c05b1b975 deleted file mode 100644 index 6a31a0b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/30123c0f148b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/20f6378ed03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b7/20f6378ed03e001518fa86d7ae2a1cf8 deleted file mode 100644 index d6e50b3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/20f6378ed03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,204 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a0b1e23b138b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a0b1e23b138b00151149b99c05b1b975 deleted file mode 100644 index c9bd460..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/a0b1e23b138b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b048b351cd3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b048b351cd3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 4b9e4c5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b7/b048b351cd3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,31 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.HashMap; - -public class MaybeOfflinePlayer -{ //2015.08.08. - public String PlayerName; - public String UserName; - public String Flair; //If the user comments their name, it gets set, it doesn't matter if they accepted it or not - public boolean AcceptedFlair; - public boolean IgnoredFlair; - public FlairClassType FlairType; - public static HashMap AllPlayers=new HashMap<>(); //2015.08.08. - public static MaybeOfflinePlayer AddPlayerIfNeeded(String playername) - { - if(!AllPlayers.containsKey(playername)) - { - MaybeOfflinePlayer player=new MaybeOfflinePlayer(); - player.PlayerName=playername; - AllPlayers.put(playername, player); - return player; - } - return AllPlayers.get(playername); - } - public enum FlairClassType - { //2015.08.09. - NonPresser, - CantPress, - Undecided - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/5008fb862087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/b9/5008fb862087001519af89c6c0264943 deleted file mode 100644 index f9a764a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/5008fb862087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c0ad8e3ee340001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c0ad8e3ee340001514c09dece48b36c7 deleted file mode 100644 index 04a669a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/c0ad8e3ee340001514c09dece48b36c7 +++ /dev/null @@ -1,294 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/506865c02187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/506865c02187001519af89c6c0264943 deleted file mode 100644 index 1114eab..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/506865c02187001519af89c6c0264943 +++ /dev/null @@ -1,586 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - p - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/708754aee240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/bb/708754aee240001514c09dece48b36c7 deleted file mode 100644 index 4f33dd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bb/708754aee240001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30916f57cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30916f57cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 262b029..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/30916f57cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,362 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a0204038ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a0204038ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index d838749..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a0204038ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,355 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a099c9afd13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a099c9afd13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 3926be9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a099c9afd13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,368 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/be/f0ff0a082087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/be/f0ff0a082087001519af89c6c0264943 deleted file mode 100644 index 8161769..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/be/f0ff0a082087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "&cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/a056849fd33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/a056849fd33e001518fa86d7ae2a1cf8 deleted file mode 100644 index ef4123d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/a056849fd33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,219 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - case "confirm": - - break; - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/a0d1b862cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/a0d1b862cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 0fdd3aa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/a0d1b862cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,364 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press?§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c/b06ccd99ce3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/c/b06ccd99ce3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 4e85b74..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c/b06ccd99ce3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,358 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - { - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(player.getName()).AcceptedFlair) - AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - public static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/20d96d9ad33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/c2/20d96d9ad33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 843f877..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c2/20d96d9ad33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,216 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - //String msg="§6Reloaded config file.§r"; - //SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/207c49a0168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/c3/207c49a0168b00151149b99c05b1b975 deleted file mode 100644 index 2258b2a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/207c49a0168b00151149b99c05b1b975 +++ /dev/null @@ -1,12 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.TimerTask; - -public abstract class PlayerJoinTimerTask extends TimerTask { - - @Override - public abstract void run(); - - public abstract MaybeOfflinePlayer mp; - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/40771d08e740001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/c3/40771d08e740001514c09dece48b36c7 deleted file mode 100644 index 152043a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c3/40771d08e740001514c09dece48b36c7 +++ /dev/null @@ -1,74 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - if(message.contains(p.getName())) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 1.0f); //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/b03fc23d168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/c4/b03fc23d168b00151149b99c05b1b975 deleted file mode 100644 index 91fbd1b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/b03fc23d168b00151149b99c05b1b975 +++ /dev/null @@ -1,323 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - TimerTask tt = new TimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp=mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/c09467ba168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/c4/c09467ba168b00151149b99c05b1b975 deleted file mode 100644 index c3f2412..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c4/c09467ba168b00151149b99c05b1b975 +++ /dev/null @@ -1,321 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/30315643d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/c5/30315643d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index a8dea0e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/30315643d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,198 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/40ffd3b49b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/c5/40ffd3b49b8c0015169bb4f96b251538 deleted file mode 100644 index d85614f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c5/40ffd3b49b8c0015169bb4f96b251538 +++ /dev/null @@ -1,583 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, null); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } else if (args.length > 0 && args[0].toLowerCase().equals("quiz")) { - if (sender instanceof BlockCommandSender) - DoQuiz(null, args, (BlockCommandSender) sender); - else - DoQuiz(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c8/2017ffab0f8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/c8/2017ffab0f8b00151149b99c05b1b975 deleted file mode 100644 index a261030..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c8/2017ffab0f8b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c8/a0c64fa50e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/c8/a0c64fa50e8b00151149b99c05b1b975 deleted file mode 100644 index 0e17eed..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c8/a0c64fa50e8b00151149b99c05b1b975 +++ /dev/null @@ -1,317 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/30f44f45158b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/30f44f45158b00151149b99c05b1b975 deleted file mode 100644 index 70b0718..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/30f44f45158b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/d021561d2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/c9/d021561d2287001519af89c6c0264943 deleted file mode 100644 index 7963bca..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c9/d021561d2287001519af89c6c0264943 +++ /dev/null @@ -1,575 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ca/30f9fabe0e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/ca/30f9fabe0e8b00151149b99c05b1b975 deleted file mode 100644 index 7d66255..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ca/30f9fabe0e8b00151149b99c05b1b975 +++ /dev/null @@ -1,317 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/b08607c4d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/b08607c4d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5d7321f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/b08607c4d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/30833796168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/30833796168b00151149b99c05b1b975 deleted file mode 100644 index 4b40ac4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/30833796168b00151149b99c05b1b975 +++ /dev/null @@ -1,10 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.TimerTask; - -public abstract class PlayerJoinTimerTask extends TimerTask { - - @Override - public abstract void run(); - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/502cf23c2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/502cf23c2287001519af89c6c0264943 deleted file mode 100644 index 6aab877..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/502cf23c2287001519af89c6c0264943 +++ /dev/null @@ -1,575 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/90837b3cd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/cd/90837b3cd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index e95109b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cd/90837b3cd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,377 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d/40ebea47e340001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d/40ebea47e340001514c09dece48b36c7 deleted file mode 100644 index c4760e2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d/40ebea47e340001514c09dece48b36c7 +++ /dev/null @@ -1,296 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin...§r"); - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin...§r"); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/405b2dafe240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/405b2dafe240001514c09dece48b36c7 deleted file mode 100644 index 4f33dd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/405b2dafe240001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d0f74b8de640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d0f74b8de640001514c09dece48b36c7 deleted file mode 100644 index cbc9ea1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/d0f74b8de640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 1.0f); //2015.08.12. - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/f0f48766e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d0/f0f48766e640001514c09dece48b36c7 deleted file mode 100644 index 89930f8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d0/f0f48766e640001514c09dece48b36c7 +++ /dev/null @@ -1,73 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Sound; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0, 1.0); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d1/50736f002287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/d1/50736f002287001519af89c6c0264943 deleted file mode 100644 index ab29328..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d1/50736f002287001519af89c6c0264943 +++ /dev/null @@ -1,579 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/204ad69bd03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/204ad69bd03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 331b6b5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/204ad69bd03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,206 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - w - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/50685e70e240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d2/50685e70e240001514c09dece48b36c7 deleted file mode 100644 index a8534f3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d2/50685e70e240001514c09dece48b36c7 +++ /dev/null @@ -1,453 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - public static ConsoleCommandSender Console; //2015.08.12. - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - Console=this.getServer().getConsoleSender(); - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - //System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - /*else - flair = "non-presser";*/ - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - //return p.Flair!=null; //2015.08.08. - return p.CommentedOnReddit; //2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - p.FlairRecognised=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(--s)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(??s)§r"; - break; - case "unknown": - if(text.equals("-1")) //If true, only non-presser/can't press; if false, any flair - p.FlairDecided=false; - else - p.FlairRecognised=false; - finalflair=""; - break; - default: - //finalflair=""; - //break; - return; - } - /*if(finalflair.length()==0) //<-- 2015.07.20. - return;*/ - p.Flair=finalflair; //2015.08.08. - p.CommentedOnReddit=true; //2015.08.10. - p.UserName=username; //2015.08.08. - if(finalflair.length()==0) //Just for the message - finalflair="undecided"; - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - //return flair==null ? "" : flair; - return flair; //2015.08.10. - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - //AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - /*private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - *String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]); - p.Flair=s[1]; //2015.08.09. - p.CommentedOnReddit=true; //Kind of - } - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if(!tempFile.renameTo(inputFile)) - { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } - else - return true; - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/b0879008128b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/b0879008128b00151149b99c05b1b975 deleted file mode 100644 index 067bbcc..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/b0879008128b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"§bIf you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/c05ee3692087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/c05ee3692087001519af89c6c0264943 deleted file mode 100644 index f9a764a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/c05ee3692087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d08253be2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d08253be2287001519af89c6c0264943 deleted file mode 100644 index 456bb47..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d08253be2287001519af89c6c0264943 +++ /dev/null @@ -1,583 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - DoQuiz(player, args, null); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } else if (args.length > 0 && args[0].toLowerCase().equals("quiz")) { - if (sender instanceof BlockCommandSender) - DoQuiz(null, args, (BlockCommandSender) sender); - else - DoQuiz(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d0e71dc1e140001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d0e71dc1e140001514c09dece48b36c7 deleted file mode 100644 index e68eaa6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d5/d0e71dc1e140001514c09dece48b36c7 +++ /dev/null @@ -1,450 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - SaveFiles(); //2015.08.09. - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - //System.out.println("Start: "+start); - if(start==-1+"IGN:".length()) //+length: 2015.08.10. - continue; //2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - //System.out.println("End: "+end); - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - //System.out.println("IGN: "+ign); - ign = ign.trim(); - //System.out.println("Trimmed IGN: "+ign); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - /*else - flair = "non-presser";*/ - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - //return p.Flair!=null; //2015.08.08. - return p.CommentedOnReddit; //2015.08.10. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - p.FlairRecognised=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(--s)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(??s)§r"; - break; - case "unknown": - if(text.equals("-1")) //If true, only non-presser/can't press; if false, any flair - p.FlairDecided=false; - else - p.FlairRecognised=false; - finalflair=""; - break; - default: - //finalflair=""; - //break; - return; - } - /*if(finalflair.length()==0) //<-- 2015.07.20. - return;*/ - p.Flair=finalflair; //2015.08.08. - p.CommentedOnReddit=true; //2015.08.10. - p.UserName=username; //2015.08.08. - if(finalflair.length()==0) //Just for the message - finalflair="undecided"; - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - //return flair==null ? "" : flair; - return flair; //2015.08.10. - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - //AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - /*private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - *String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //<-- 2015.08.10. - TownColors.put(s[0], s[1]); - } - br.close(); - } - file=new File("customflairs.txt"); //2015.08.09. - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - if(s.length>=2) //2015.08.10. - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(s[0]); - p.Flair=s[1]; //2015.08.09. - p.CommentedOnReddit=true; //Kind of - } - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() //<-- 2015.08.09. - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static boolean RemoveLineFromFile(String file, String line) - { //2015.08.09. - File inputFile = new File(file); - File tempFile = new File("_temp.txt"); - - if(!inputFile.exists()) - return true; //2015.08.10. - - try { - BufferedReader reader = new BufferedReader(new FileReader(inputFile)); - BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); - - String lineToRemove = line; - String currentLine; - - while((currentLine = reader.readLine()) != null) { - // trim newline when comparing with lineToRemove - String trimmedLine = currentLine.trim(); - //if(trimmedLine.equals(lineToRemove)) continue; - if(trimmedLine.contains(lineToRemove)) continue; //2015.08.09. - writer.write(currentLine + System.getProperty("line.separator")); - } - writer.close(); - reader.close(); - if(!tempFile.renameTo(inputFile)) - { - inputFile.delete(); - return tempFile.renameTo(inputFile); - } - else - return true; - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - return false; - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/a08b7a0ed03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/d6/a08b7a0ed03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5d70e40..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d6/a08b7a0ed03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,198 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d7/a0f61d9bd03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/d7/a0f61d9bd03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 8abed8b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d7/a0f61d9bd03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,206 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d8/4044c9a7e240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/d8/4044c9a7e240001514c09dece48b36c7 deleted file mode 100644 index 975702f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d8/4044c9a7e240001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40a17a9f2287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40a17a9f2287001519af89c6c0264943 deleted file mode 100644 index 2a67fa1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/d9/40a17a9f2287001519af89c6c0264943 +++ /dev/null @@ -1,576 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "quiz": - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - public static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (Quiz.size() <= index) - Quiz.add(""); - Quiz.set(Integer.parseInt(args[2]), finalmessage1); - commandblock.sendMessage("Question edited."); - break; - default: - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0d614ced03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0d614ced03e001518fa86d7ae2a1cf8 deleted file mode 100644 index a8b8f80..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/da/a0d614ced03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,210 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/da/c0b4ceef2187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/da/c0b4ceef2187001519af89c6c0264943 deleted file mode 100644 index a05ec8f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/da/c0b4ceef2187001519af89c6c0264943 +++ /dev/null @@ -1,588 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/da/c0e99ca62187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/da/c0e99ca62187001519af89c6c0264943 deleted file mode 100644 index 956a7ed..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/da/c0e99ca62187001519af89c6c0264943 +++ /dev/null @@ -1,584 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/db/50afb721e640001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/db/50afb721e640001514c09dece48b36c7 deleted file mode 100644 index d9ec7da..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/db/50afb721e640001514c09dece48b36c7 +++ /dev/null @@ -1,72 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message = message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - p.playSound(arg0, arg1, arg2, arg3) - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e/a0795133d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/e/a0795133d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index be2f453..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e/a0795133d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,376 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/a07905a5cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/a07905a5cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index d0c7fdd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/a07905a5cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.Flair!=null) - PluginMain.AppendPlayerDisplayFlair(mp, p); - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(flair==null || !player.AcceptedFlair) - flair=""; //2015.08.08. - String message=event.getMessage(); //2015.08.08. - /*for(Player p : PluginMain.GetPlayers()) - { //2015.08.08. - message.replaceAll(p.getName(), ) - }*/ - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e1/a094698b138b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/e1/a094698b138b00151149b99c05b1b975 deleted file mode 100644 index 97be521..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e1/a094698b138b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e2/c05167a80c8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/e2/c05167a80c8b00151149b99c05b1b975 deleted file mode 100644 index 0c65462..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e2/c05167a80c8b00151149b99c05b1b975 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - p.sendMessage(message); - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e2/d01dd49f2087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/e2/d01dd49f2087001519af89c6c0264943 deleted file mode 100644 index f9a764a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e2/d01dd49f2087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e3/20517c59cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/e3/20517c59cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 77a24f3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e3/20517c59cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,364 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press?§r"); - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e3/d0df3dbadf40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/e3/d0df3dbadf40001514c09dece48b36c7 deleted file mode 100644 index e614358..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e3/d0df3dbadf40001514c09dece48b36c7 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(player.IgnoredFlair) - flair=""; - String message=event.getMessage(); //2015.08.08. - for(Player p : PluginMain.GetPlayers()) - { //2015.08.12. - message.replaceAll(p.getName(), "§6"+p.getName()+"§r"); - } - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/3060bf8dcf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/e4/3060bf8dcf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 620a063..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e4/3060bf8dcf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,364 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import tk.sznp.thebuttonautoflair.MaybeOfflinePlayer.FlairClassType; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - AppendPlayerDisplayFlair(player, username, finalflair); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+username+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c05785819a8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c05785819a8c0015169bb4f96b251538 deleted file mode 100644 index 443f012..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e5/c05785819a8c0015169bb4f96b251538 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/507343312287001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/e7/507343312287001519af89c6c0264943 deleted file mode 100644 index 324368c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/507343312287001519af89c6c0264943 +++ /dev/null @@ -1,575 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.ArrayList; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - - private static ArrayList Quiz = new ArrayList<>(); - - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u quiz add|remove|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - Quiz.add(finalmessage); - SendMessage(player, "§Quiz question added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u quiz remove "); - return; - } - Quiz.remove(Integer.parseInt(args[2])); - break; - case "list": - SendMessage(player, "§bList of quiz questions:§r"); - SendMessage(player, "§bFormat: [index] question§r"); - int i = 0; - for (String question : Quiz) - SendMessage(player, "[" + i++ + "] " + question); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u quiz remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u quiz edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/d014d3062387001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/e7/d014d3062387001519af89c6c0264943 deleted file mode 100644 index f82a5f8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/d014d3062387001519af89c6c0264943 +++ /dev/null @@ -1,306 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.IOUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.ConsoleCommandSender; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import java.io.*; -import java.lang.String; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -public class PluginMain extends JavaPlugin { // Translated to Java: 2015.07.15. - // A user, which flair isn't obtainable: - // https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - public static PluginMain Instance; - public static ConsoleCommandSender Console; // 2015.08.12. - - // Fired when plugin is first enabled - @Override - public void onEnable() { - System.out.println("The Button Minecraft server plugin"); - getServer().getPluginManager().registerEvents(new PlayerListener(), - this); - Commands comm = new Commands(); - this.getCommand("u").setExecutor(comm); - this.getCommand("u").setUsage( - this.getCommand("u").getUsage().replace('&', '§')); - this.getCommand("nrp").setExecutor(comm); - this.getCommand("nrp").setUsage( - this.getCommand("nrp").getUsage().replace('&', '§')); - this.getCommand("ooc").setExecutor(comm); - this.getCommand("ooc").setUsage( - this.getCommand("ooc").getUsage().replace('&', '§')); - this.getCommand("skype").setExecutor(comm); - Instance = this; // 2015.08.08. - Console = this.getServer().getConsoleSender(); // 2015.08.12. - LoadFiles(false); // 2015.08.09. - Runnable r = new Runnable() { - public void run() { - ThreadMethod(); - } - }; - Thread t = new Thread(r); - t.start(); - r = new Runnable() { - public void run() { - AnnouncerThread.Run(); - } - }; - t = new Thread(r); - t.start(); - } - - public Boolean stop = false; - - // Fired when plugin is disabled - @Override - public void onDisable() { - SaveFiles(); // 2015.08.09. - stop = true; - } - - public void ThreadMethod() // <-- 2015.07.16. - { - while (!stop) { - try { - String body = DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json = new JSONArray(body).getJSONObject(1) - .getJSONObject("data").getJSONArray("children"); - for (Object obj : json) { - JSONObject item = (JSONObject) obj; - String author = item.getJSONObject("data").getString( - "author"); - String ign = item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - if (start == -1 + "IGN:".length()) // +length: 2015.08.10. - continue; // 2015.08.09. - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end = ign.indexOf('\n', start); // 2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(ign); - if (mp == null) - continue; - if (HasIGFlair(mp.UUID)) - continue; - try { - Thread.sleep(10); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString( - "http://karmadecay.com/thebutton-data.php?users=" - + author).replace("\"", "").split(":"); - String flair; - if (flairdata.length > 1) // 2015.07.15. - flair = flairdata[1]; - else - flair = ""; - if (flair != "-1") - flair = flair + "s"; - String flairclass; - if (flairdata.length > 2) - flairclass = flairdata[2]; - else - flairclass = "unknown"; - SetFlair(mp.UUID, flair, flairclass, author); - } - try { - Thread.sleep(10000); - } catch (InterruptedException ex) { - Thread.currentThread().interrupt(); - } - } catch (Exception e) { - // System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - } - - public static Exception LastException; // 2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, - IOException { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors = new HashMap(); // 2015.07.20. - - public Boolean HasIGFlair(UUID uuid) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - return p.CommentedOnReddit; // 2015.08.10. - } - - public void SetFlair(UUID uuid, String text, String flairclass, - String username) { - MaybeOfflinePlayer p = MaybeOfflinePlayer.AddPlayerIfNeeded(uuid); // 2015.08.08. - String finalflair; - p.FlairDecided = true; - p.FlairRecognised = true; - switch (flairclass) { - case "press-1": - finalflair = "§c(" + text + ")§r"; - break; - case "press-2": - finalflair = "§6(" + text + ")§r"; - break; - case "press-3": - finalflair = "§e(" + text + ")§r"; - break; - case "press-4": - finalflair = "§a(" + text + ")§r"; - break; - case "press-5": - finalflair = "§9(" + text + ")§r"; - break; - case "press-6": - finalflair = "§5(" + text + ")§r"; - break; - case "no-press": - finalflair = "§7(--s)§r"; - break; - case "cheater": - finalflair = "§5(" + text + ")§r"; - break; - case "cant-press": // 2015.08.08. - finalflair = "§r(??s)§r"; - break; - case "unknown": - if (text.equals("-1")) // If true, only non-presser/can't press; if - // false, any flair - p.FlairDecided = false; - else - p.FlairRecognised = false; - finalflair = ""; - break; - default: - return; - } - p.Flair = finalflair; // 2015.08.08. - p.CommentedOnReddit = true; // 2015.08.10. - p.UserName = username; // 2015.08.08. - System.out.println("Added flair for " + p.PlayerName); - AppendPlayerDisplayFlair(p, Bukkit.getPlayer(uuid)); - } - - public static String GetFlair(Player player) { // 2015.07.16. - String flair = MaybeOfflinePlayer.AllPlayers.get(player.getUniqueId()).Flair; // 2015.08.08. - return flair; // 2015.08.10. - } - - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, - Player p) // <-- 2015.08.09. - { - - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).IgnoredFlair) - return; - if (MaybeOfflinePlayer.AllPlayers.get(p.getUniqueId()).AcceptedFlair) { - if (!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); // 2015.08.09. - } else - p.sendMessage("§9Are you Reddit user " + player.UserName - + "?§r §6Type /u accept or /u ignore§r"); - } - - public static String GetColorForTown(String townname) { // 2015.07.20. - if (TownColors.containsKey(townname)) - return TownColors.get(townname); - return ""; - } - - public static Collection GetPlayers() { - return Instance.getServer().getOnlinePlayers(); - } - - public static ArrayList AnnounceMessages = new ArrayList<>(); - public static int AnnounceTime = 15 * 60 * 1000; - - public static void LoadFiles(boolean reload) // <-- 2015.08.09. - { - if (reload) { // 2015.08.09. - System.out - .println("The Button Minecraft plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - AnnounceMessages.clear(); - Commands.Quiz.clear(); - } - System.out.println("Loading files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("announcemessages.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsaccepted.txt"); - if (file.exists()) - file.delete(); - file = new File("flairsignored.txt"); - if (file.exists()) - file.delete(); - file = new File("thebuttonmc.yml"); - if (file.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - yc.load(file); - MaybeOfflinePlayer.Load(yc); - PlayerListener.NotificationSound = yc - .getString("notificationsound"); - PlayerListener.NotificationPitch = yc - .getDouble("notificationpitch"); - AnnounceTime = yc.getInt("announcetime"); - AnnounceMessages.addAll(yc.getStringList("announcements")); - Commands.Quiz.addAll(yc.getStringList("quiz")); - } - System.out.println("The Button Minecraft plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } catch (InvalidConfigurationException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } - - public static void SaveFiles() // <-- 2015.08.09. - { - System.out.println("Saving files for The Button Minecraft plugin..."); // 2015.08.09. - try { - File file = new File("thebuttonmc.yml"); - YamlConfiguration yc = new YamlConfiguration(); - MaybeOfflinePlayer.Save(yc); - yc.set("notificationsound", PlayerListener.NotificationSound); - yc.set("notificationpitch", PlayerListener.NotificationPitch); - yc.set("announcetime", AnnounceTime); - yc.set("announcements", AnnounceMessages); - yc.set("quiz", Commands.Quiz); - yc.save(file); - System.out.println("The Button Minecraft plugin saved files!"); - } catch (IOException e) { - System.out.println("Error!\n" + e); - LastException = e; // 2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/504e12aee240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/504e12aee240001514c09dece48b36c7 deleted file mode 100644 index 4f33dd3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/504e12aee240001514c09dece48b36c7 +++ /dev/null @@ -1,298 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/c0b3154ce440001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/c0b3154ce440001514c09dece48b36c7 deleted file mode 100644 index 159e3e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/c0b3154ce440001514c09dece48b36c7 +++ /dev/null @@ -1,296 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - PluginMain.Console.sendMessage("§6-- Reloading Auto-flair plugin...§r"); - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/b0d0b526128b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/b0d0b526128b00151149b99c05b1b975 deleted file mode 100644 index c9bd460..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/b0d0b526128b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/3086890bd03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/3086890bd03e001518fa86d7ae2a1cf8 deleted file mode 100644 index ce49e4e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/3086890bd03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,198 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(player, p); - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/e0c5e59d2187001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/e0c5e59d2187001519af89c6c0264943 deleted file mode 100644 index 46565f7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/e0c5e59d2187001519af89c6c0264943 +++ /dev/null @@ -1,584 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } - private static void DoQuiz(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index = Integer.parseInt(args[2]); - if (index > 100) - break; - while (PluginMain.AnnounceMessages.size() <= index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/f00520bce240001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/ed/f00520bce240001514c09dece48b36c7 deleted file mode 100644 index f1e321a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ed/f00520bce240001514c09dece48b36c7 +++ /dev/null @@ -1,299 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§9You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§9Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§9Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§9Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - //System.out.println(message); - PluginMain.Console.sendMessage(message); //2015.08.12. - else - player.sendMessage(message); - - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ee/b0b0b2700e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/ee/b0b0b2700e8b00151149b99c05b1b975 deleted file mode 100644 index c6c259b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ee/b0b0b2700e8b00151149b99c05b1b975 +++ /dev/null @@ -1,321 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/206bbc9acf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/ef/206bbc9acf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index a085586..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/206bbc9acf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,71 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import de.inventivegames.TellRawAutoMessage.Reflection; - -public class PlayerListener implements Listener -{ //2015.07.16. - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) - { - Player p=event.getPlayer(); - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); //2015.08.08. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); //2015.08.08. - if(mp.Flair!=null) - PluginMain.AppendPlayerDisplayFlair(p, mp.UserName, mp.Flair); - else - { //2015.07.20. - String json="[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - sendRawMessage(p, json); - } - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) - { - } - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) - { - MaybeOfflinePlayer player = MaybeOfflinePlayer.AllPlayers.get(event.getPlayer().getName()); - String flair=player.Flair; //2015.08.08. - if(flair==null || !player.AcceptedFlair) - flair=""; //2015.08.08. - String message=event.getMessage(); //2015.08.08. - /*for(Player p : PluginMain.GetPlayers()) - { //2015.08.08. - message.replaceAll(p.getName(), ) - }*/ - event.setFormat(event.getFormat().substring(0, event.getFormat().indexOf(">"))+flair+"> "+message); //2015.08.08. - } - - private static Class nmsChatSerializer = Reflection.getNMSClass("IChatBaseComponent$ChatSerializer"); - private static Class nmsPacketPlayOutChat = Reflection.getNMSClass("PacketPlayOutChat"); - public static void sendRawMessage(Player player, String message) - { - try { - System.out.println("1"); - Object handle = Reflection.getHandle(player); - System.out.println("2"); - Object connection = Reflection.getField(handle.getClass(), "playerConnection").get(handle); - System.out.println("3"); - Object serialized = Reflection.getMethod(nmsChatSerializer, "a", String.class).invoke(null, message); - System.out.println("4"); - Object packet = nmsPacketPlayOutChat.getConstructor(Reflection.getNMSClass("IChatBaseComponent")).newInstance(serialized); - System.out.println("5"); - Reflection.getMethod(connection.getClass(), "sendPacket").invoke(connection, packet); - System.out.println("6"); - } catch (Exception e) { - e.printStackTrace(); - PluginMain.LastException=e; //2015.08.09. - } - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f/a0d81438d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f/a0d81438d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index f17161d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f/a0d81438d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,216 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; - //SendMessage(player, msg); //2015.08.09. - - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f/b08c4dd3d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f/b08c4dd3d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index fbfb948..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f/b08c4dd3d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,372 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f/d05bb3872087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/f/d05bb3872087001519af89c6c0264943 deleted file mode 100644 index f9a764a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f/d05bb3872087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/2032f0a2168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/2032f0a2168b00151149b99c05b1b975 deleted file mode 100644 index fc7ca65..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/2032f0a2168b00151149b99c05b1b975 +++ /dev/null @@ -1,12 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.util.TimerTask; - -public abstract class PlayerJoinTimerTask extends TimerTask { - - @Override - public abstract void run(); - - public MaybeOfflinePlayer mp; - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f2/205fa4c2d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f2/205fa4c2d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index 5dcd8d1..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f2/205fa4c2d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,209 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - - } - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f2/a0380b49d03e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f2/a0380b49d03e001518fa86d7ae2a1cf8 deleted file mode 100644 index c1a5059..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f2/a0380b49d03e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,200 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - case "cantpress": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f3/203061bfd23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f3/203061bfd23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 717cff8..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f3/203061bfd23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Reloaded all files.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f3/a09a2529d33e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f3/a09a2529d33e001518fa86d7ae2a1cf8 deleted file mode 100644 index 2a7e8d7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f3/a09a2529d33e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,215 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - PluginMain.AppendPlayerDisplayFlair(p, player); - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§7(non-pr.)§r"; - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - p.Flair="§r(can't press)§r"; - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - //PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - } - //String msg="§6Reloaded config file.§r"; - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/20d00369d23e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/20d00369d23e001518fa86d7ae2a1cf8 deleted file mode 100644 index 7316b80..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/20d00369d23e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,380 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { //2015.08.09. - System.out.println("Auto-flair plugin cleanup for reloading..."); - MaybeOfflinePlayer.AllPlayers.clear(); - TownColors.clear(); - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - System.out.println("Auto-flair plugin loaded files!"); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - public static void SaveFiles() - { - - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/409165a82087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/409165a82087001519af89c6c0264943 deleted file mode 100644 index 2752bb6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/409165a82087001519af89c6c0264943 +++ /dev/null @@ -1,493 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - while(PluginMain.AnnounceMessages.size()<=Integer.parseInt(args[2])) - - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/b0f896bf9b8c0015169bb4f96b251538 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/b0f896bf9b8c0015169bb4f96b251538 deleted file mode 100644 index e0d1a0d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/b0f896bf9b8c0015169bb4f96b251538 +++ /dev/null @@ -1,328 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - // if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(e - .getPlayer().getUniqueId()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - private Timer Ftimer; - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - if (Ftimer != null) - Ftimer.cancel(); - ActiveF = true; - FCount = 0; - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - Ftimer = new Timer(); - TimerTask tt = new TimerTask() { - @Override - public void run() { - if (ActiveF) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - }; - Ftimer.schedule(tt, 15 * 1000); - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/d060adb52087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/d060adb52087001519af89c6c0264943 deleted file mode 100644 index d567fe0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/d060adb52087001519af89c6c0264943 +++ /dev/null @@ -1,496 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - commandblock - .sendMessage("§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - int index=Integer.parseInt(args[2]); - if(index>100) - break; - while(PluginMain.AnnounceMessages.size()<=index) - PluginMain.AnnounceMessages.add(""); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f5/60e49bf5de40001514c09dece48b36c7 b/.metadata/.plugins/org.eclipse.core.resources/.history/f5/60e49bf5de40001514c09dece48b36c7 deleted file mode 100644 index 45cf563..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f5/60e49bf5de40001514c09dece48b36c7 +++ /dev/null @@ -1,297 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -import org.apache.commons.io.FileUtils; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(!p.CommentedOnReddit && !args[0].toLowerCase().equals("admin")) - { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if(!p.FlairRecognised && !args[0].toLowerCase().equals("admin")) - { //2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - //PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§9Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - //String flair=p.Flair; //2015.08.08. - //PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": //2015.08.09. - if(!p.AcceptedFlair) - { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if(p.FlairDecided) - { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": //2015.08.10. - player.sendMessage("It would be nice, isn't it?"); //Sometimes I'm bored too - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.LoadFiles(true); //2015.08.09. - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p.getName()); - //if(mp.Flair!=null) - if(mp.CommentedOnReddit) - { - PluginMain.AppendPlayerDisplayFlair(mp, p); //2015.08.09. - } - String msg="§6Note: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; //2015.08.09. - p.sendMessage(msg); //2015.08.09. - } - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static Player ReloadPlayer; //2015.08.09. - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName().equals("NorbiPeti")) - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - ReloadPlayer=player; //2015.08.09. - SendMessage(player, "§6Make sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; //<-- 2015.08.10. - case "confirm": - if(ReloadPlayer==player) - DoReload(player); //2015.08.09. - else - SendMessage(player, "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); //2015.08.09. - SendMessage(player, "§6Saved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": //2015.08.10. - DoUpdatePlugin(player); - break; - default: - String message="§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - SendMessage(player, "Flair decided: "+p.FlairDecided); - SendMessage(player, "Flair recognised: "+p.FlairRecognised); - SendMessage(player, "Commented on Reddit: "+p.CommentedOnReddit); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } - private static void SetPlayerFlair(Player player, MaybeOfflinePlayer targetplayer, String flair) - { //2015.08.09. - flair=flair.replace('&', '§'); - targetplayer.Flair=flair; - targetplayer.CommentedOnReddit=true; //Or at least has a flair in some way - if(!PluginMain.RemoveLineFromFile("customflairs.txt", targetplayer.PlayerName)) - { - SendMessage(player, "§cError removing previous custom flair!§r"); - return; - } - File file=new File("customflairs.txt"); - try { - BufferedWriter bw; - bw = new BufferedWriter(new FileWriter(file, true)); - bw.write(targetplayer.PlayerName+targetplayer.Flair+"\n"); - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - SendMessage(player, "§9The flair has been set. Player: "+targetplayer.PlayerName+" Flair: "+flair+"§r"); - } - private static void DoSetFlair(Player player, String[] args) - { - //args[0] is "admin" - args[1] is "setflair" - if(args.length<4) - { - SendMessage(player, "§cUsage: /u admin setflair "); - return; - } - SetPlayerFlair(player, MaybeOfflinePlayer.AddPlayerIfNeeded(args[2]), args[3]); - } - private static void DoUpdatePlugin(Player player) - { //2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL("https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File("plugins/TheButtonAutoFlair.jar")); - SendMessage(player, "Updating done!"); - } - catch (MalformedURLException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - catch (IOException e) { - System.out.println("Error!\n"+e); - PluginMain.LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2099de87138b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2099de87138b00151149b99c05b1b975 deleted file mode 100644 index fb71748..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/2099de87138b00151149b99c05b1b975 +++ /dev/null @@ -1,318 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit && !mp.PlayerName.equals("NorbiPeti")) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"§bIf you don't want the flair, type /u ignore to prevent this message on login.§r\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f8/b0609ebb0e8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/f8/b0609ebb0e8b00151149b99c05b1b975 deleted file mode 100644 index 05e1531..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f8/b0609ebb0e8b00151149b99c05b1b975 +++ /dev/null @@ -1,317 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - final MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - String json = "[\"\",{\"text\":\"§6Hi! If you'd like your flair displayed ingame, write your §6Minecraft name to \"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand(PluginMain.Console, "tellraw "+mp.PlayerName+" "+json); - String json = "[\"\",{\"text\":\"§6If you don't want the flair, type /u ignore to prevent this message on login.§r\"},{\"text\":\"[this thread.]\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread§r\"}]}}}]"; - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/408378442087001519af89c6c0264943 b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/408378442087001519af89c6c0264943 deleted file mode 100644 index f18f0e0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/408378442087001519af89c6c0264943 +++ /dev/null @@ -1,491 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.apache.commons.io.FileUtils; -import org.bukkit.Bukkit; -import org.bukkit.command.BlockCommandSender; -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -import java.io.File; -import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; - -public class Commands implements CommandExecutor { - - public static boolean PluginUpdated = false; // 2015.08.31. - - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, - String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - switch (cmd.getName()) { - case "u": { - if (args.length < 1) - return false; - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(player - .getName()); // 2015.08.08. - if (!p.CommentedOnReddit - && !args[0].toLowerCase().equals("admin") - && !args[0].toLowerCase().equals("ignore")) { - player.sendMessage("§cError: You need to write your username to the reddit thread at /r/TheButtonMinecraft§r"); - return true; - } - if (!p.FlairRecognised - && !args[0].toLowerCase().equals("admin")) { // 2015.08.10. - player.sendMessage("Sorry, but your flair isn't recorded. Please ask a mod to set it for you."); - return true; - } - if (!p.FlairDecided && !args[0].toLowerCase().equals("admin")) { // 2015.08.19. - player.sendMessage("Please select between /u nonpresser and /u cantpress"); - return true; - } - switch (args[0].toLowerCase()) // toLowerCase: 2015.08.09. - { - case "accept": { - if (p.IgnoredFlair) - p.IgnoredFlair = false; // 2015.08.08. - if (!p.AcceptedFlair) { - String flair = p.Flair; // 2015.08.08. - p.AcceptedFlair = true; // 2015.08.08. - PluginMain.AppendPlayerDisplayFlair(p, player); - player.sendMessage("§bYour flair has been set:§r " - + flair); - } else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": { - if (p.AcceptedFlair) - p.AcceptedFlair = false; // 2015.08.08. - if (!p.IgnoredFlair) { - p.IgnoredFlair = true; - player.sendMessage("§bYou have ignored this request. You can still use /u accept though.§r"); - } else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - case "admin": // 2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type.§r"); - break; - } - SetPlayerFlair(player, p, "§7(--s)§r"); - break; - case "cantpress": // 2015.08.09. - if (!p.AcceptedFlair) { - player.sendMessage("§cYou need to accept the flair first.§r"); - break; - } - if (p.FlairDecided) { - player.sendMessage("§cYou have already set the flair type or your flair type is known.§r"); - break; - } - SetPlayerFlair(player, p, "§r(??s)§r"); - break; - case "opme": // 2015.08.10. - player.sendMessage("It would be nice, isn't it?"); // Sometimes - // I'm - // bored - // too - break; - case "announce": - DoAnnounce(player, args, null); - break; - case "name": - if (args.length == 1) { - player.sendMessage("§cUsage: /u name §r"); - break; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[1])) { - player.sendMessage("§cUnknown user: " + args[1]); - break; - } - player.sendMessage("§bUsername of " - + args[1] - + ": " - + MaybeOfflinePlayer.AllPlayers.get(args[1]).UserName); - break; - case "enable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = true; - player.sendMessage("Enabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - case "disable": - if (player.getName().equals("NorbiPeti")) { - PlayerListener.Enable = false; - player.sendMessage("Disabled."); - } else - player.sendMessage("Unknown command: " + cmd.getName()); - break; - default: - return false; - } - return true; - } - case "nrp": - case "ooc": - if (args.length == 0) { - return false; - } else { - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = false; - String message = ""; - for (String arg : args) - message += arg + " "; - player.chat(message.substring(0, message.length() - 1)); - MaybeOfflinePlayer.AddPlayerIfNeeded(player.getUniqueId()).RPMode = true; - } - return true; - case "skype": - // "skype:?chat&blob=Y_5Ob1BEcw0ZlstdUHyf0ENS5n1Xz2Huhx-5b-pB2JyMSRO5QMEALkJuTSuUaAb3-XfWXwCndwhGex_UpXDbyQ"; - return true; - default: - player.sendMessage("Unknown command: " + cmd.getName()); - break; - } - } else if (args.length > 0 && args[0].toLowerCase().equals("admin")) // 2015.08.09. - { - DoAdmin(null, args); // 2015.08.09. - return true; // 2015.08.09. - } else if (args.length > 0 && args[0].toLowerCase().equals("announce")) { - if (sender instanceof BlockCommandSender) - DoAnnounce(null, args, (BlockCommandSender) sender); - else - DoAnnounce(null, args, null); - return true; - } - return false; - } - - private static void DoReload(Player player) { // 2015.07.20. - try { - PluginMain.Console - .sendMessage("§6-- Reloading The Button Minecraft plugin...§r"); - PluginMain.LoadFiles(true); // 2015.08.09. - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - // if(mp.Flair!=null) - if (mp.CommentedOnReddit) { - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - } - String msg = "§bNote: The auto-flair plugin has been reloaded. You might need to wait 10s to have your flair.§r"; // 2015.08.09. - p.sendMessage(msg); // 2015.08.09. - } - PluginMain.Console.sendMessage("§6-- Reloading done!§r"); - } catch (Exception e) { - System.out.println("Error!\n" + e); - if (player != null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static Player ReloadPlayer; // 2015.08.09. - - private static String DoAdminUsage = "§cUsage: /u admin reload|playerinfo|getlasterror|save|setflair|updateplugin|togglerpshow|toggledebug|savepos|loadpos§r"; - - private static void DoAdmin(Player player, String[] args) { // 2015.08.09. - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - // args[0] is "admin" - switch (args[1].toLowerCase()) { - case "reload": - ReloadPlayer = player; // 2015.08.09. - SendMessage( - player, - "§bMake sure to save the current settings before you modify and reload them! Type /u admin confirm when done.§r"); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - break; // <-- 2015.08.10. - case "confirm": - if (ReloadPlayer == player) - DoReload(player); // 2015.08.09. - else - SendMessage(player, - "§cYou need to do /u admin reload first.§r"); - break; - case "save": - PluginMain.SaveFiles(); // 2015.08.09. - SendMessage(player, - "§bSaved files. Now you can edit them and reload if you want.§r"); - break; - case "setflair": - DoSetFlair(player, args); - break; - case "updateplugin": // 2015.08.10. - DoUpdatePlugin(player); - break; - case "togglerpshow": - PlayerListener.ShowRPTag = !PlayerListener.ShowRPTag; - SendMessage(player, "RP tag showing " - + (PlayerListener.ShowRPTag ? "enabled" : "disabled")); - break; - case "toggledebug": - PlayerListener.DebugMode = !PlayerListener.DebugMode; - SendMessage(player, "DebugMode: " + PlayerListener.DebugMode); - break; - case "savepos": - DoSaveLoadPos(player, args); - break; - case "loadpos": - DoSaveLoadPos(player, args); - break; - case "updatedynmap": - DoUpdateDynmap(player, args); - default: - String message = DoAdminUsage; - SendMessage(player, message); - return; - } - } else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - - private static void DoPlayerInfo(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "playerinfo" - if (args.length == 2) { - String message = "§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.GetFromName(args[2]); - if (p == null) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - SendMessage(player, "Player name: " + p.PlayerName); - SendMessage(player, "User flair: " + p.Flair); - SendMessage(player, "Username: " + p.UserName); - SendMessage(player, "Flair accepted: " + p.AcceptedFlair); - SendMessage(player, "Flair ignored: " + p.IgnoredFlair); - SendMessage(player, "Flair decided: " + p.FlairDecided); - SendMessage(player, "Flair recognised: " + p.FlairRecognised); - SendMessage(player, "Commented on Reddit: " + p.CommentedOnReddit); - } - - private static void SendMessage(Player player, String message) { // 2015.08.09. - if (player == null) - PluginMain.Console.sendMessage(message); // 2015.08.12. - else - player.sendMessage(message); - } - - private static void DoGetLastError(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "getlasterror" - if (PluginMain.LastException != null) { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException = null; - } else - SendMessage(player, "There were no exceptions."); - } - - private static void SetPlayerFlair(Player player, - MaybeOfflinePlayer targetplayer, String flair) { // 2015.08.09. - flair = flair.replace('&', '§'); - targetplayer.Flair = flair; - targetplayer.CommentedOnReddit = true; // Or at least has a flair in - // some way - targetplayer.FlairRecognised = true; - SendMessage(player, "§bThe flair has been set. Player: " - + targetplayer.PlayerName + " Flair: " + flair + "§r"); - } - - private static void DoSetFlair(Player player, String[] args) { - // args[0] is "admin" - args[1] is "setflair" - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u admin setflair "); - return; - } - if (args[3].charAt(0) != '&') { - SendMessage(player, - "§cYou need to start the flair with a color code: &6(19s)&r"); - return; - } - Player p = Bukkit.getPlayer(args[2]); - if (p == null) { - SendMessage(player, "§cPLayer not found.&r"); - return; - } - SetPlayerFlair(player, - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()), args[3]); - } - - private static void DoUpdatePlugin(Player player) { // 2015.08.10. - SendMessage(player, "Updating Auto-Flair plugin..."); - System.out.println("Forced updating of Auto-Flair plugin."); - URL url; - try { - url = new URL( - "https://github.com/NorbiPeti/thebuttonautoflairmc/raw/master/TheButtonAutoFlair.jar"); - FileUtils.copyURLToFile(url, new File( - "plugins/TheButtonAutoFlair.jar")); - PluginUpdated = true; // 2015.08.31. - SendMessage(player, "Updating done!"); - } catch (MalformedURLException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n" + e); - PluginMain.LastException = e; // 2015.08.09. - } - } - - private static void DoAnnounce(Player player, String[] args, - BlockCommandSender commandblock) { - if (player == null || player.isOp() - || player.getName().equals("NorbiPeti")) { - if (args.length == 1) { - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - switch (args[1].toLowerCase()) { - case "add": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce add "); - return; - } - StringBuilder sb = new StringBuilder(); - for (int i = 2; i < args.length; i++) { - sb.append(args[i]); - if (i != args.length - 1) - sb.append(" "); - } - String finalmessage = sb.toString().replace('&', '§'); - PluginMain.AnnounceMessages.add(finalmessage); - SendMessage(player, "§bAnnouncement added.§r"); - break; - case "remove": - if (args.length < 3) { - SendMessage(player, "§cUsage: /u announce remove "); - return; - } - PluginMain.AnnounceMessages.remove(Integer.parseInt(args[2])); - break; - case "settime": - if (args.length < 3) { - SendMessage(player, - "§cUsage: /u announce settime "); - return; - } - PluginMain.AnnounceTime = Integer.parseInt(args[2]) * 60 * 1000; - SendMessage(player, "Time set between announce messages"); - break; - case "list": - SendMessage(player, "§bList of announce messages:§r"); - SendMessage(player, "§bFormat: [index] message§r"); - int i = 0; - for (String message : PluginMain.AnnounceMessages) - SendMessage(player, "[" + i++ + "] " + message); - SendMessage(player, - "§bCurrent wait time between announcements: " - + PluginMain.AnnounceTime / 60 / 1000 - + " minute(s)§r"); - break; - case "edit": - if (commandblock == null) { - SendMessage( - player, - "§cError: This command can only be used from a command block. Use /u announce remove."); - break; - } - if (args.length < 4) { - SendMessage(player, - "§cUsage: /u announce edit "); - return; - } - StringBuilder sb1 = new StringBuilder(); - for (int i1 = 3; i1 < args.length; i1++) { - sb1.append(args[i1]); - if (i1 != args.length - 1) - sb1.append(" "); - } - String finalmessage1 = sb1.toString().replace('&', '§'); - PluginMain.AnnounceMessages.set(Integer.parseInt(args[2]), - finalmessage1); - commandblock.sendMessage("Announcement edited."); - break; - default: - String message = "§cUsage: /u announce add|remove|settime|list|edit§r"; - SendMessage(player, message); - return; - } - } - } - - private static void DoSaveLoadPos(Player player, String[] args) { // 2015.08.09. - // args[0] is "admin" - args[1] is "savepos|loadpos" - if (args.length == 2) { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer not found: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(args[2]); - Player p = null; - for (Player pl : PluginMain.GetPlayers()) { - if (pl.getName().equals(args[2])) { - p = pl; - break; - } - } - if (p == null) { - if (!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) { - String message = "§cPlayer is not online: " + args[2] + "§r"; - SendMessage(player, message); - return; - } - } - if (args[1].equalsIgnoreCase("savepos")) { - mp.SavedLocation = p.getLocation(); - } else if (args[1].equalsIgnoreCase("loadpos")) { - if (mp.SavedLocation != null) - p.teleport(mp.SavedLocation); - } else { - String message = "§cUsage: /u admin savepos|loadpos §r"; - SendMessage(player, message); - return; - } - // SendMessage(player, "Player " + p.getName() + - // " position saved/loaded.");s - } - - private static void DoUpdateDynmap(Player player, String[] args) { - // args[0] is "admin" - args[1] is "updatedynmap" - if (args.length == 2) { - String message = "§cUsage: /u admin updatedynmap §r"; - SendMessage(player, message); - return; - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/a01791b5d13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/a01791b5d13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 6f7db8d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/a01791b5d13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,369 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) - { - MaybeOfflinePlayer.AllPlayers.clear(); - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/307961d7cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/fb/307961d7cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index ccaedeb..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/307961d7cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,363 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - player.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/a04766fe188b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/fb/a04766fe188b00151149b99c05b1b975 deleted file mode 100644 index 6f4f0db..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fb/a04766fe188b00151149b99c05b1b975 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/20df70b6168b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/fc/20df70b6168b00151149b99c05b1b975 deleted file mode 100644 index ce95a56..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fc/20df70b6168b00151149b99c05b1b975 +++ /dev/null @@ -1,323 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - // if (mp.CommentedOnReddit) - if (false) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - PlayerJoinTimerTask tt = new PlayerJoinTimerTask() { - public MaybeOfflinePlayer mp; - - @Override - public void run() { - if (!mp.IgnoredFlair) { - String json = "[\"\",{\"text\":\"If you'd like your /r/TheButton flair displayed ingame, write your Minecraft name to \",\"color\":\"aqua\"},{\"text\":\"[this thread].\",\"color\":\"aqua\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Click here to go to the Reddit thread\",\"color\":\"aqua\"}]}}}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - json = "[\"\",{\"text\":\"If you don't want the flair, type /u ignore to prevent this message after next login.\",\"color\":\"aqua\"}]"; - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Console, - "tellraw " + mp.PlayerName + " " + json); - } - } - }; - tt.mp = mp; - timer.schedule(tt, 15 * 1000); - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/fe/204112ead13e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/fe/204112ead13e001518fa86d7ae2a1cf8 deleted file mode 100644 index 318be3d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/fe/204112ead13e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,374 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.io.InputStream; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLConnection; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.Map; - -import org.apache.commons.io.IOUtils; -import org.bukkit.entity.Player; -import org.bukkit.plugin.java.JavaPlugin; -import org.json.JSONArray; -import org.json.JSONObject; - -import com.palmergames.bukkit.towny.object.Town; -import com.palmergames.bukkit.towny.object.WorldCoord; - -public class PluginMain extends JavaPlugin -{ //Translated to Java: 2015.07.15. - //A user, which flair isn't obtainable: - //https://www.reddit.com/r/thebutton/comments/31c32v/i_pressed_the_button_without_really_thinking/ - private static PluginMain Instance; - // Fired when plugin is first enabled - @Override - public void onEnable() - { - System.out.println("The Button Auto-flair Plugin by NorbiPeti (:P)"); - getServer().getPluginManager().registerEvents(new PlayerListener(), this); - this.getCommand("u").setExecutor(new Commands()); - this.getCommand("u").setUsage(this.getCommand("u").getUsage().replace('&', '§')); - Instance=this; //2015.08.08. - LoadFiles(false); //2015.08.09. - Runnable r=new Runnable(){public void run(){ThreadMethod();}}; - Thread t=new Thread(r); - t.start(); - } - Boolean stop=false; - // Fired when plugin is disabled - @Override - public void onDisable() - { - try - { - FileWriter fw; - fw = new FileWriter("flairsaccepted.txt"); - fw.close(); - fw = new FileWriter("flairsignored.txt"); - fw.close(); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - try { - File file=new File("flairsaccepted.txt"); - BufferedWriter bw=new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.AcceptedFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - file=new File("flairsignored.txt"); - bw = new BufferedWriter(new FileWriter(file, true)); - for(MaybeOfflinePlayer player : MaybeOfflinePlayer.AllPlayers.values()) //<-- 2015.08.08. - { - if(!player.IgnoredFlair) - continue; //2015.08.08. - bw.write(player.PlayerName+"\n"); - } - bw.close(); - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - stop=true; - } - - public void ThreadMethod() //<-- 2015.07.16. - { - while(!stop) - { - try - { - String body=DownloadString("https://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/autoflair_system_comment_your_minecraft_name_and/.json?limit=1000"); - JSONArray json=new JSONArray(body).getJSONObject(1).getJSONObject("data").getJSONArray("children"); - for(Object obj : json) - { - JSONObject item = (JSONObject)obj; - String author=item.getJSONObject("data").getString("author"); - String ign=item.getJSONObject("data").getString("body"); - int start = ign.indexOf("IGN:") + "IGN:".length(); - int end = ign.indexOf(' ', start); - if (end == -1 || end == start) - end=ign.indexOf('\n', start); //2015.07.15. - if (end == -1 || end == start) - ign = ign.substring(start); - else - ign = ign.substring(start, end); - ign = ign.trim(); - if(HasIGFlair(ign)) - continue; - try { - Thread.sleep(10); - } catch(InterruptedException ex) { - Thread.currentThread().interrupt(); - } - String[] flairdata = DownloadString("http://karmadecay.com/thebutton-data.php?users=" + author).replace("\"", "").split(":"); - String flair; - if(flairdata.length > 1) //2015.07.15. - flair = flairdata[1]; - else - flair=""; - if (flair != "-1") - flair = flair + "s"; - else - flair = "non-presser"; - String flairclass; - if(flairdata.length>2) - flairclass = flairdata[2]; - else - flairclass="unknown"; - SetFlair(ign, flair, flairclass, author); - } - Thread.sleep(10000); - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } - } - - public static Exception LastException; //2015.08.09. - - public String DownloadString(String urlstr) throws MalformedURLException, IOException - { - URL url = new URL(urlstr); - URLConnection con = url.openConnection(); - con.setRequestProperty("User-Agent", "TheButtonAutoFlair"); - InputStream in = con.getInputStream(); - String encoding = con.getContentEncoding(); - encoding = encoding == null ? "UTF-8" : encoding; - String body = IOUtils.toString(in, encoding); - in.close(); - return body; - } - - public static Map TownColors=new HashMap(); //2015.07.20. - public Boolean HasIGFlair(String playername) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - return p.Flair!=null; //2015.08.08. - } - - public void SetFlair(String playername, String text, String flairclass, String username) - { - MaybeOfflinePlayer p=MaybeOfflinePlayer.AddPlayerIfNeeded(playername); //2015.08.08. - String finalflair; - p.FlairDecided=true; - switch(flairclass) - { - case "press-1": - finalflair="§c("+text+")§r"; - break; - case "press-2": - finalflair="§6("+text+")§r"; - break; - case "press-3": - finalflair="§e("+text+")§r"; - break; - case "press-4": - finalflair="§a("+text+")§r"; - break; - case "press-5": - finalflair="§9("+text+")§r"; - break; - case "press-6": - finalflair="§5("+text+")§r"; - break; - case "no-press": - finalflair="§7(non-pr.)§r"; - break; - case "cheater": - finalflair="§5("+text+")§r"; - break; - case "cant-press": //2015.08.08. - finalflair="§r(can't press)§r"; - break; - case "undecided": //2015.08.09. - p.FlairDecided=false; - finalflair=""; - break; - default: - finalflair=""; - break; - } - if(finalflair.length()==0) //<-- 2015.07.20. - return; - p.Flair=finalflair; //2015.08.08. - p.UserName=username; //2015.08.08. - System.out.println("Added new flair to "+playername+": "+finalflair); - for(Player player : getServer().getOnlinePlayers()) //<-- 2015.08.08. - { - if(player.getName().equals(playername)) - { - //AppendPlayerDisplayFlair(player, username, finalflair); - AppendPlayerDisplayFlair(p, player); - break; - } - } - } - - public static String GetFlair(Player player) - { //2015.07.16. - String flair=MaybeOfflinePlayer.AllPlayers.get(player.getName()).Flair; //2015.08.08. - return flair==null ? "" : flair; - } - - //public static void AppendPlayerDisplayFlair(Player player, String username, String flair) - public static void AppendPlayerDisplayFlair(MaybeOfflinePlayer player, Player p) //<-- 2015.08.09. - { - - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).IgnoredFlair) - return; - if(MaybeOfflinePlayer.AllPlayers.get(p.getName()).AcceptedFlair) - { - AppendPlayerDisplayFlairFinal(p, player.Flair); //2015.07.20. - if(!player.FlairDecided) - p.sendMessage("§9Your flair type is unknown. Are you a non-presser or a can't press? (/u nonpresser or /u cantpress)§r"); //2015.08.09. - } - else - p.sendMessage("§9Are you Reddit user "+player.UserName+"?§r §6Type /u accept or /u ignore§r"); - } - - private static void AppendPlayerDisplayFlairFinal(Player player, String flair) - { //2015.07.20. - String color = GetColorForTown(GetPlayerTown(player)); //TO!DO: Multiple colors put on first capital letters - String[] colors = color.substring(1).split("§"); - String displayname=player.getName(); //2015.08.08. - ArrayList Positions=new ArrayList<>(); - for(int i=0; i=colors.length) - { - int x=0; - for(int i=0; i GetPlayers() - { - return Instance.getServer().getOnlinePlayers(); - } - - public static void LoadFiles(boolean reload) //<-- 2015.08.09. - { - if(reload) - { - System.out.println("Reloading files for auto-flair plugin..."); - MaybeOfflinePlayer.AllPlayers.clear(); //2015.08.09. - } - System.out.println("Loading files for auto-flair plugin..."); //2015.08.09. - try { - File file=new File("flairsaccepted.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsaccepted.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - //System.out.println("Name: " + name); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).AcceptedFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("flairsignored.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader("flairsignored.txt")); - String line; - while ((line = br.readLine()) != null) - { - String name=line.replace("\n", ""); - MaybeOfflinePlayer.AddPlayerIfNeeded(name).IgnoredFlair=true; //2015.08.08. - } - br.close(); - } - file=new File("autoflairconfig.txt"); - if(file.exists()) - { - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - TownColors.put(s[0], s[1]); - } - br.close(); - } - //throw new IOException("Test"); //2015.08.09. - } catch (IOException e) { - System.out.println("Error!\n"+e); - LastException=e; //2015.08.09. - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/a0790ee2cf3e001518fa86d7ae2a1cf8 b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/a0790ee2cf3e001518fa86d7ae2a1cf8 deleted file mode 100644 index 38374ce..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/a0790ee2cf3e001518fa86d7ae2a1cf8 +++ /dev/null @@ -1,196 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; - -import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; - -public class Commands implements CommandExecutor { - // This method is called, when somebody uses our command - @Override - public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { - if (sender instanceof Player) { - Player player = (Player) sender; - if(args.length<1) - return false; - MaybeOfflinePlayer p=MaybeOfflinePlayer.AllPlayers.get(player.getName()); //2015.08.08. - //if(!PluginMain.PlayerFlairs.containsKey(player.getName())) - if(p.Flair==null) - { - player.sendMessage("Error: You need to write your username to the reddit thread at /r/TheButtonMinecraft"); - return true; - } - switch(args[0].toLowerCase()) //toLowerCase: 2015.08.09. - { - case "accept": - { - if(p.IgnoredFlair) - p.IgnoredFlair=false; //2015.08.08. - if(!p.AcceptedFlair) - { - String flair=p.Flair; //2015.08.08. - PluginMain.AppendPlayerDisplayFlairFinal(player, flair); //2015.07.20. - p.AcceptedFlair=true; //2015.08.08. - player.sendMessage("§6Your flair has been set:§r "+flair); - } - else - player.sendMessage("§cYou already have this user's flair.§r"); - break; - } - case "ignore": - { - if(p.AcceptedFlair) - p.AcceptedFlair=false; //2015.08.08. - if(!p.IgnoredFlair) - { - p.IgnoredFlair=true; - String flair=p.Flair; //2015.08.08. - PluginMain.RemovePlayerDisplayFlairFinal(player, flair); //2015.07.20. - player.sendMessage("§6You have ignored this request. You can still use /u accept though.§r"); - } - else - player.sendMessage("§cYou already ignored this request.§r"); - break; - } - /*case "reload": //2015.07.20. - DoReload(player); - break;*/ - case "admin": //2015.08.09. - DoAdmin(player, args); - break; - case "nonpresser": //2015.08.09. - break; - default: - return false; - } - return true; - } - /*if(args[0].toLowerCase()=="reload") - DoReload(null); //2015.07.20.*/ - else if(args.length>0 && args[0].toLowerCase().equals("admin")) //2015.08.09. - { - DoAdmin(null, args); //2015.08.09. - return true; //2015.08.09. - } - return false; - } - private static void DoReload(Player player) - { //2015.07.20. - //if(player==null || player.isOp() || player.getName()=="NorbiPeti") - //{ - try - { - File file=new File("autoflairconfig.txt"); - if(file.exists()) - { - PluginMain.TownColors.clear(); - BufferedReader br=new BufferedReader(new FileReader(file)); - String line; - while((line=br.readLine())!=null) - { - String[] s=line.split(" "); - PluginMain.TownColors.put(s[0], s[1]); - } - br.close(); - for(Player p : PluginMain.GetPlayers()) - { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AllPlayers.get(p.getName()); - if(mp.Flair!=null) - { - String flair=mp.Flair; - PluginMain.RemovePlayerDisplayFlairFinal(p, flair); - PluginMain.AppendPlayerDisplayFlairFinal(p, flair); - } - } - String msg="§6Reloaded config file.§r"; - SendMessage(player, msg); //2015.08.09. - } - } - catch(Exception e) - { - System.out.println("Error!\n"+e); - if(player!=null) - player.sendMessage("§cAn error occured. See console for details.§r"); - PluginMain.LastException=e; //2015.08.09. - } - //} - //else - //player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoAdmin(Player player, String[] args) - { //2015.08.09. - if(player==null || player.isOp() || player.getName()=="NorbiPeti") - { - //System.out.println("Args length: " + args.length); - if(args.length==1) - { - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - //args[0] is "admin" - switch(args[1].toLowerCase()) - { - case "reload": - DoReload(player); - break; - case "playerinfo": - DoPlayerInfo(player, args); - break; - case "getlasterror": - DoGetLastError(player, args); - default: - String message="§cUsage: /u admin reload|playerinfo§r"; - SendMessage(player, message); - return; - } - } - else - player.sendMessage("§cYou need to be OP to use this command.§r"); - } - private static void DoPlayerInfo(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "playerinfo" - if(args.length==2) - { - String message="§cUsage: /u admin playerinfo §r"; - SendMessage(player, message); - return; - } - if(!MaybeOfflinePlayer.AllPlayers.containsKey(args[2])) - { - String message="§cPlayer not found: "+args[2]+"§r"; - SendMessage(player, message); - return; - } - MaybeOfflinePlayer p = MaybeOfflinePlayer.AllPlayers.get(args[2]); - SendMessage(player, "Player name: "+p.PlayerName); - SendMessage(player, "User flair: "+p.Flair); - SendMessage(player, "Username: "+p.UserName); - SendMessage(player, "Flair accepted: "+p.AcceptedFlair); - SendMessage(player, "Flair ignored: "+p.IgnoredFlair); - } - private static void SendMessage(Player player, String message) - { //2015.08.09. - if(player==null) - System.out.println(message); - else - player.sendMessage(message); - } - private static void DoGetLastError(Player player, String[] args) - { //2015.08.09. - //args[0] is "admin" - args[1] is "getlasterror" - if(PluginMain.LastException!=null) - { - SendMessage(player, "Last error:"); - SendMessage(player, PluginMain.LastException.toString()); - PluginMain.LastException=null; - } - else - SendMessage(player, "There were no exceptions."); - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/d02051bc0c8b00151149b99c05b1b975 b/.metadata/.plugins/org.eclipse.core.resources/.history/ff/d02051bc0c8b00151149b99c05b1b975 deleted file mode 100644 index 7bdfaaf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ff/d02051bc0c8b00151149b99c05b1b975 +++ /dev/null @@ -1,320 +0,0 @@ -package tk.sznp.thebuttonautoflair; - -import org.bukkit.Bukkit; -import org.bukkit.Sound; -import org.bukkit.configuration.InvalidConfigurationException; -import org.bukkit.configuration.file.YamlConfiguration; -import org.bukkit.entity.Player; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.entity.PlayerDeathEvent; -import org.bukkit.event.player.AsyncPlayerChatEvent; -import org.bukkit.event.player.PlayerChatTabCompleteEvent; -import org.bukkit.event.player.PlayerJoinEvent; -import org.bukkit.event.player.PlayerQuitEvent; - -import au.com.mineauz.minigames.Minigames; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Random; -import java.util.Timer; -import java.util.TimerTask; -import java.util.UUID; - -public class PlayerListener implements Listener { // 2015.07.16. - public static HashMap nicknames = new HashMap<>(); - - public static boolean Enable = false; // 2015.08.29. - - @EventHandler - public void onPlayerJoin(PlayerJoinEvent event) { - Player p = event.getPlayer(); - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); - mp.PlayerName = p.getName(); // 2015.10.17. 0:58 - if (mp.CommentedOnReddit) - PluginMain.AppendPlayerDisplayFlair(mp, p); // 2015.08.09. - else { // 2015.07.20. - Timer timer = new Timer(); - timer.schedule(new TimerTask() - { - @Override - public void run() - { - if (!mp.IgnoredFlair) { - String message = "§bIf you'd like your flair displayed ingame, write your §6Minecraft name to this thread:§r"; - p.sendMessage(message); - message = "§bhttps://www.reddit.com/r/TheButtonMinecraft/comments/3d25do/§r"; - p.sendMessage(message); - message = "§6If you don't want the flair, type /u ignore to prevent this message on login.§r"; - p.sendMessage(message); - message = "§bIf you already commented your name, then please wait a few seconds.§r"; - p.sendMessage(message); - } - } - }, 15*1000) - } - - /* NICKNAME LOGIC */ - - UUID id = p.getUniqueId(); - - File f = new File("plugins/Essentials/userdata/" + id + ".yml"); - if (f.exists()) { - YamlConfiguration yc = new YamlConfiguration(); - try { - yc.load(f); - } catch (IOException e) { - e.printStackTrace(); - } catch (InvalidConfigurationException e) { - e.printStackTrace(); - } - String nickname = yc.getString("nickname"); - if (nickname != null) { - nicknames.put(nickname, id); - - if (Enable) { - if (!p.getName().equals("NorbiPeti")) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.chat("Hey, " + nickname + "!"); - break; - } - } - } - } - } - } - - mp.RPMode = true; // 2015.08.25. - - if (p.getName().equals("FigyTuna") && Commands.PluginUpdated) - p.sendMessage("§bThe The Button MC plugin got updated. Please restart the server. :P§r"); - } - - @EventHandler - public void onPlayerLeave(PlayerQuitEvent event) { - String deletenick = null; - for (String nickname : nicknames.keySet()) { - UUID uuid = nicknames.get(nickname); - if (event.getPlayer().getUniqueId().equals(uuid)) { - deletenick = nickname; - break; - } - } - if (deletenick != null) - nicknames.remove(deletenick); - } - - public static String NotificationSound; // 2015.08.14. - public static double NotificationPitch; // 2015.08.14. - - public static boolean ShowRPTag = false; // 2015.08.31. - - @EventHandler - public void onPlayerChat(AsyncPlayerChatEvent event) { - MaybeOfflinePlayer player = MaybeOfflinePlayer.GetFromName(event - .getPlayer().getName()); - String flair = player.Flair; // 2015.08.08. - if (player.IgnoredFlair) - flair = ""; - String message = event.getMessage(); // 2015.08.08. - for (Player p : PluginMain.GetPlayers()) { // 2015.08.12. - String color = ""; // 2015.08.17. - if (message.contains(p.getName())) { - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer mp = MaybeOfflinePlayer.AddPlayerIfNeeded(p - .getUniqueId()); // 2015.08.17. - if (mp.Flair.length() > 1) - color = mp.Flair.substring(0, 2); - } - - message = message.replaceAll(p.getName(), color + p.getName() - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - for (String n : nicknames.keySet()) { - Player p = null; - String nwithoutformatting = new String(n); - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (message.contains(nwithoutformatting)) { - p = Bukkit.getPlayer(nicknames.get(n)); - if (NotificationSound == null) - p.playSound(p.getLocation(), Sound.ORB_PICKUP, 1.0f, 0.5f); // 2015.08.12. - else - p.playSound(p.getLocation(), NotificationSound, 1.0f, - (float) NotificationPitch); // 2015.08.14. - MaybeOfflinePlayer.AddPlayerIfNeeded(p.getUniqueId()); // 2015.08.17. - } - if (p != null) { - message = message.replaceAll(nwithoutformatting, n - + (event.getMessage().startsWith("§2>") ? "§2" : "§r")); - } - } - - event.setMessage(message); // 2015.09.05. - - event.setFormat(event - .getFormat() - .replace( - "{rptag}", - (player.RPMode ? (ShowRPTag ? "§2[RP]§r" : "") - : "§8[OOC]§r")) - .replace("{buttonflair}", flair) - .replace( - "{isitwilds}", - (event.getPlayer().getWorld().getName() - .equalsIgnoreCase("wilds") ? "[PVP]" : ""))); // 2015.09.04. - } - - @EventHandler - public void onTabComplete(PlayerChatTabCompleteEvent e) { - String name = e.getLastToken(); - for (String nickname : nicknames.keySet()) { - String nwithoutformatting = nickname; - int index; - while ((index = nwithoutformatting.indexOf("§k")) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§k" - + nwithoutformatting.charAt(index + 2), ""); // Support - // for - // one - // random - // char - while ((index = nwithoutformatting.indexOf('§')) != -1) - nwithoutformatting = nwithoutformatting.replaceAll("§" - + nwithoutformatting.charAt(index + 1), ""); - if (nwithoutformatting.startsWith(name) - && !nwithoutformatting.equals(Bukkit.getPlayer( - nicknames.get(nickname)).getName())) - e.getTabCompletions().add(nwithoutformatting); - } - } - - public static boolean DebugMode = false; - - public void SendForDebug(String message) { - if (DebugMode) { - for (Player player : PluginMain.GetPlayers()) { - if (player.getName().equals("NorbiPeti")) { - player.sendMessage("[DEBUG] " + message); - break; - } - } - } - } - - private boolean ActiveF = false; - private int FCount = 0; - private long FTime; - - @EventHandler - public void onPlayerMessage(AsyncPlayerChatEvent e) { - if (ActiveF) { - if (System.currentTimeMillis() - FTime > 10000) { - ActiveF = false; - for (Player p : PluginMain.GetPlayers()) { - p.sendMessage("§b" + FCount + " " - + (FCount == 1 ? "person" : "people") - + " paid their respects.§r"); - } - } - } - if (e.getMessage().equalsIgnoreCase("F")) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(e - .getPlayer().getName()); - if (!mp.PressedF && ActiveF) { - FCount++; - mp.PressedF = true; - } - } - - if (e.getMessage().startsWith(">")) - e.setMessage("§2" + e.getMessage()); - - /* - * Channel c = ((Chat) Bukkit.getPluginManager().getPlugin("TownyChat")) - * .getChannelsHandler().getActiveChannel(e.getPlayer(), - * channelTypes.GLOBAL); - */ - /* - * List modes = ((Chat) Bukkit.getPluginManager().getPlugin( - * "TownyChat")).getTowny().getPlayerMode(e.getPlayer()); if - * (modes.size() == 0 || modes.contains("g")) { - */ - if (e.getFormat().contains("[g]")) { - StringBuilder sb = new StringBuilder(); - sb.append("tellraw @a [\"\""); - sb.append(",{\"text\":\"Hashtags:\"}"); - int index = -1; - ArrayList list = new ArrayList(); - while ((index = e.getMessage().indexOf("#", index + 1)) != -1) { - int index2 = e.getMessage().indexOf(" ", index + 1); - if (index2 == -1) - index2 = e.getMessage().length(); - int index3 = e.getMessage().indexOf("#", index + 1); - if (index3 != -1 && index3 < index2) // A # occurs before a - // space - index2 = index3; - String original = e.getMessage().substring(index, index2); - list.add(original); - sb.append(",{\"text\":\" \"}"); - sb.append(",{\"text\":\""); - sb.append(original); - sb.append("\",\"color\":\"blue\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://twitter.com/hashtag/"); - sb.append(original.substring(1)); - sb.append("\"},\"hoverEvent\":{\"action\":\"show_text\",\"value\":{\"text\":\"\",\"extra\":[{\"text\":\"Open on Twitter\",\"color\":\"blue\"}]}}}"); - } - for (String original : list) - e.setMessage(e.getMessage().replace( - original, - "§9" - + original - + (e.getMessage().startsWith("§2>") ? "§2" - : "§r"))); - /* - * for (String original : list) - * System.out.println(e.getMessage().replace( original, "§9" + - * original + (e.getMessage().startsWith("§2>") ? "§2" : "§r"))); - */ - - sb.append("]"); - - if (list.size() > 0) - PluginMain.Instance.getServer().dispatchCommand( - PluginMain.Instance.getServer().getConsoleSender(), - sb.toString()); - } - } - - @EventHandler - public void onPlayerDeath(PlayerDeathEvent e) { - if (!Minigames.plugin.pdata.getMinigamePlayer(e.getEntity()) - .isInMinigame() && new Random().nextBoolean()) { - ActiveF = true; - FCount = 0; - FTime = System.currentTimeMillis(); - for (Player p : PluginMain.GetPlayers()) { - MaybeOfflinePlayer mp = MaybeOfflinePlayer.GetFromName(p - .getName()); - mp.PressedF = false; - p.sendMessage("§bPress F to pay respects.§r"); - } - } - } -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap deleted file mode 100644 index 0b368ce..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.markers.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap deleted file mode 100644 index 0b368ce..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/RemoteSystemsTempFiles/.syncinfo.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index deleted file mode 100644 index d18a891..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/e4/77/69/e/history.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/properties.index deleted file mode 100644 index 6b1b30f..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.indexes/properties.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers deleted file mode 100644 index 1c681cc..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap deleted file mode 100644 index dffc983..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.markers.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap b/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap deleted file mode 100644 index 0b368ce..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.projects/TheButtonAutoFlair/.syncinfo.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version deleted file mode 100644 index 25cb955..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/history.version +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index deleted file mode 100644 index 3398742..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version deleted file mode 100644 index 6b2aaa7..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.version +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap b/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap deleted file mode 100644 index 0b368ce..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/.markers.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/71.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/71.tree deleted file mode 100644 index 54698da..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.root/71.tree and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources deleted file mode 100644 index f0ef506..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.snap b/.metadata/.plugins/org.eclipse.core.resources/.snap deleted file mode 100644 index a48591a..0000000 Binary files a/.metadata/.plugins/org.eclipse.core.resources/.snap and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index dffc6b5..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs deleted file mode 100644 index 9dd00d6..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.debug.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=\r\n\r\n -preferredTargets=default\:default| diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index bee14ad..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.builder.resourceCopyExclusionFilter= -org.eclipse.jdt.core.codeComplete.visibilityCheck=enabled diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs deleted file mode 100644 index a9b7731..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.launching.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.launching.PREF_VM_XML=\r\n\r\n\r\n\r\n\r\n\r\n diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index f15d4a4..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,21 +0,0 @@ -content_assist_disabled_computers=org.eclipse.jdt.ui.textProposalCategory\u0000org.eclipse.jdt.ui.javaAllProposalCategory\u0000org.eclipse.jdt.ui.javaTypeProposalCategory\u0000org.eclipse.jdt.ui.javaNoTypeProposalCategory\u0000 -content_assist_lru_history= -content_assist_number_of_computers=21 -content_assist_proposals_background=255,255,255 -content_assist_proposals_foreground=0,0,0 -eclipse.preferences.version=1 -fontPropagated=true -markOccurrences=false -org.eclipse.jdt.ui.editor.tab.width= -org.eclipse.jdt.ui.formatterprofiles.version=12 -org.eclipse.jdt.ui.javadoclocations.migrated=true -org.eclipse.jdt.ui.text.code_templates_migrated=true -org.eclipse.jdt.ui.text.custom_code_templates= -org.eclipse.jdt.ui.text.custom_templates= -org.eclipse.jdt.ui.text.templates_migrated=true -org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; -proposalOrderMigrated=true -spelling_locale_initialized=true -tabWidthPropagated=true -useAnnotationsPrefPage=true -useQuickDiffPrefPage=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs deleted file mode 100644 index 553bb96..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.j2ee.webservice.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -areThereWebServices=false -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.jsp.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.jsp.core.prefs deleted file mode 100644 index 66f87be..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.jsp.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jst.jsp.core.taglib.TaglibIndex=CLEAN diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs deleted file mode 100644 index 43e97e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.context.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -mylyn.attention.migrated=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs deleted file mode 100644 index 4445627..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.java.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.mylyn.java.ui.run.count.3_1_0=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs deleted file mode 100644 index 8d462a6..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.mylyn.monitor.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs deleted file mode 100644 index d2ed603..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.pde.api.tools.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -knownEEFragments= diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs deleted file mode 100644 index c27d8a2..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.core.prefs +++ /dev/null @@ -1,4 +0,0 @@ -activeuserprofiles=NORBI-PC;Team -eclipse.preferences.version=1 -org.eclipse.rse.systemtype.local.systemType.defaultUserId=Norbi -useridperkey=NORBI-PC.Local\=Norbi; diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs deleted file mode 100644 index 777efa3..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.rse.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.rse.preferences.order.connections=NORBI-PC.Local diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs deleted file mode 100644 index cec65c4..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.search.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.search.defaultPerspective=org.eclipse.search.defaultPerspective.none diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs deleted file mode 100644 index f9e585b..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.cvs.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -pref_first_startup=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs deleted file mode 100644 index 56cd496..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.team.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.team.ui.first_time=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs deleted file mode 100644 index 61f3bb8..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.editors.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -overviewRuler_migration=migrated_3.1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs deleted file mode 100644 index 1cafa5a..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ /dev/null @@ -1,6 +0,0 @@ -PROBLEMS_FILTERS_MIGRATE=true -TASKS_FILTERS_MIGRATE=true -eclipse.preferences.version=1 -platformState=1430672370540 -quickStart=false -tipsAndTricks=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs deleted file mode 100644 index 08076f2..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -showIntro=false diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs deleted file mode 100644 index bee0075..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.workbench.prefs +++ /dev/null @@ -1,3 +0,0 @@ -//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10 -ENABLED_DECORATORS=org.eclipse.jst.ws.jaxws.dom.integration.navigator.WebServiceDecorator\:true,org.eclipse.wst.server.ui.decorator\:false,com.android.ide.eclipse.adt.project.FolderDecorator\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.DependencyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ColumnDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ForeignKeyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.IndexTriggerDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.bookmarkDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.FilterNodeDecoration\:true,org.eclipse.datatools.connectivity.ui.decorator.contentextension\:false,org.eclipse.datatools.enablement.ingres.ui.providers.decorators.SynonymDecorationService\:true,org.eclipse.datatools.enablement.ingres.internal.ui.providers.decorators.ParameterDecorationService\:true,org.eclipse.datatools.enablement.sybase.asa.proxytabledecorator\:true,org.eclipse.datatools.enablement.sybase.ase.webservicetabledecorator\:true,org.eclipse.datatools.enablement.sybase.systemtabledecorator\:true,org.eclipse.egit.ui.internal.decorators.GitLightweightDecorator\:true,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:false,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_ejb\:true,org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator\:true,org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanDecorator\:true,org.eclipse.jst.jee.navigator.internal.JEEProjectDecorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_servlet\:true,org.eclipse.jst.servlet.ui.Decorator\:true,org.eclipse.mylyn.context.ui.decorator.interest\:true,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.mylyn.team.ui.changeset.decorator\:true,org.eclipse.pde.ui.binaryProjectDecorator\:false,org.eclipse.rse.core.virtualobject.decorator\:true,org.eclipse.rse.core.binary.executable.decorator\:true,org.eclipse.rse.core.script.executable.decorator\:true,org.eclipse.rse.core.java.executable.decorator\:true,org.eclipse.rse.core.library.decorator\:true,org.eclipse.rse.core.link.decorator\:true,org.eclipse.rse.subsystems.error.decorator\:true,org.eclipse.team.cvs.ui.decorator\:true,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.wst.jsdt.ui.override.decorator\:true,org.eclipse.wst.server.ui.navigatorDecorator\:true, -eclipse.preferences.version=1 diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs deleted file mode 100644 index a092597..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.jsdt.ui.prefs +++ /dev/null @@ -1,10 +0,0 @@ -eclipse.preferences.version=1 -fontPropagated=true -org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas; -org.eclipse.wst.jsdt.ui.editor.tab.width= -org.eclipse.wst.jsdt.ui.formatterprofiles.version=11 -org.eclipse.wst.jsdt.ui.javadoclocations.migrated=true -proposalOrderMigrated=true -tabWidthPropagated=true -useAnnotationsPrefPage=true -useQuickDiffPrefPage=true diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.core.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.core.prefs deleted file mode 100644 index a23b194..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.sse.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -task-tag-projects-already-scanned=RemoteSystemsTempFiles,TheButtonAutoFlair diff --git a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.ws.service.policy.prefs b/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.ws.service.policy.prefs deleted file mode 100644 index 6696959..0000000 --- a/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.ws.service.policy.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsiap.defaultProtocol=http\://schemas.xmlsoap.org/wsdl/soap/ -org.eclipse.wst.ws.service.policy.ui.servicepols.wsiprofilecomp.wsissbp.defaultProtocol=http\://schemas.xmlsoap.org/wsdl/soap/ diff --git a/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml deleted file mode 100644 index 8a27dce..0000000 --- a/.metadata/.plugins/org.eclipse.debug.ui/dialog_settings.xml +++ /dev/null @@ -1,8 +0,0 @@ - -
-
- - - -
-
diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi deleted file mode 100644 index a5bef47..0000000 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ /dev/null @@ -1,2795 +0,0 @@ - - - activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration - - topLevel - shellMaximized - - - - - persp.actionSet:org.eclipse.mylyn.context.ui.actionSet - persp.actionSet:org.eclipse.mylyn.doc.actionSet - persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation - persp.actionSet:org.eclipse.ui.cheatsheets.actionSet - persp.actionSet:org.eclipse.rse.core.search.searchActionSet - persp.actionSet:org.eclipse.search.searchActionSet - persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo - persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet - persp.actionSet:org.eclipse.ui.actionSet.keyBindings - persp.actionSet:org.eclipse.ui.actionSet.openFiles - persp.actionSet:org.eclipse.jst.j2ee.J2eeMainActionSet - persp.actionSet:org.eclipse.jdt.ui.JavaActionSet - persp.actionSet:org.eclipse.debug.ui.launchActionSet - persp.actionSet:org.eclipse.debug.ui.debugActionSet - persp.actionSet:org.eclipse.ui.NavigateActionSet - persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer - persp.viewSC:org.eclipse.wst.server.ui.ServersView - persp.viewSC:org.eclipse.datatools.connectivity.DataSourceExplorerNavigator - persp.viewSC:org.eclipse.ui.views.BookmarkView - persp.viewSC:org.eclipse.ui.views.ContentOutline - persp.viewSC:org.eclipse.ui.views.PropertySheet - persp.viewSC:org.eclipse.ui.views.ResourceNavigator - persp.viewSC:org.eclipse.wst.common.snippets.internal.ui.SnippetsView - persp.viewSC:org.eclipse.ui.views.AllMarkersView - persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks - persp.viewSC:org.eclipse.search.ui.views.SearchView - persp.viewSC:org.eclipse.ui.console.ConsoleView - persp.showIn:org.eclipse.ui.navigator.ProjectExplorer - persp.newWizSC:org.eclipse.jpt.jpa.ui.wizard.newJpaProject - persp.perspSC:org.eclipse.jpt.ui.jpaPerspective - persp.perspSC:org.eclipse.debug.ui.DebugPerspective - persp.perspSC:org.eclipse.jdt.ui.JavaPerspective - persp.perspSC:org.eclipse.ui.resourcePerspective - persp.perspSC:org.eclipse.wst.web.ui.webDevPerspective - persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard - persp.newWizSC:org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard - persp.newWizSC:org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard - persp.newWizSC:org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard - persp.newWizSC:org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard - persp.newWizSC:org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard - persp.newWizSC:org.eclipse.jpt.ui.wizard.newJpaProject - persp.newWizSC:org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard - persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard - persp.newWizSC:org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard - persp.newWizSC:org.eclipse.jpt.ui.wizard.newEntity - persp.newWizSC:org.eclipse.jst.ws.creation.ui.wizard.serverwizard - persp.newWizSC:org.eclipse.ui.wizards.new.folder - persp.newWizSC:org.eclipse.ui.wizards.new.file - persp.actionSet:org.eclipse.wst.server.ui.internal.webbrowser.actionSet - persp.actionSet:org.eclipse.debug.ui.breakpointActionSet - persp.actionSet:org.eclipse.wst.ws.explorer.explorer - - - newtablook - - - - - - - - - - newtablook - - - - - - newtablook - - - - - - - - - - - - - - - - - - persp.actionSet:org.eclipse.mylyn.context.ui.actionSet - persp.actionSet:org.eclipse.mylyn.doc.actionSet - persp.actionSet:org.eclipse.mylyn.tasks.ui.navigation - persp.actionSet:org.eclipse.ui.cheatsheets.actionSet - persp.actionSet:org.eclipse.rse.core.search.searchActionSet - persp.actionSet:org.eclipse.search.searchActionSet - persp.actionSet:org.eclipse.ui.edit.text.actionSet.annotationNavigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.navigation - persp.actionSet:org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo - persp.actionSet:org.eclipse.ui.externaltools.ExternalToolsSet - persp.actionSet:org.eclipse.ui.actionSet.keyBindings - persp.actionSet:org.eclipse.ui.actionSet.openFiles - persp.actionSet:org.eclipse.debug.ui.launchActionSet - persp.actionSet:org.eclipse.jdt.ui.JavaActionSet - persp.actionSet:org.eclipse.jdt.ui.JavaElementCreationActionSet - persp.actionSet:org.eclipse.ui.NavigateActionSet - persp.viewSC:org.eclipse.jdt.ui.PackageExplorer - persp.viewSC:org.eclipse.jdt.ui.TypeHierarchy - persp.viewSC:org.eclipse.jdt.ui.SourceView - persp.viewSC:org.eclipse.jdt.ui.JavadocView - persp.viewSC:org.eclipse.search.ui.views.SearchView - persp.viewSC:org.eclipse.ui.console.ConsoleView - persp.viewSC:org.eclipse.ui.views.ContentOutline - persp.viewSC:org.eclipse.ui.views.ProblemView - persp.viewSC:org.eclipse.ui.views.ResourceNavigator - persp.viewSC:org.eclipse.ui.views.TaskList - persp.viewSC:org.eclipse.ui.views.ProgressView - persp.viewSC:org.eclipse.ui.navigator.ProjectExplorer - persp.viewSC:org.eclipse.ui.texteditor.TemplatesView - persp.viewSC:org.eclipse.pde.runtime.LogView - persp.newWizSC:org.eclipse.jdt.ui.wizards.JavaProjectWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewPackageCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewClassCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewEnumCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewAnnotationCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSourceFolderCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewSnippetFileCreationWizard - persp.newWizSC:org.eclipse.jdt.ui.wizards.NewJavaWorkingSetWizard - persp.newWizSC:org.eclipse.ui.wizards.new.folder - persp.newWizSC:org.eclipse.ui.wizards.new.file - persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard - persp.perspSC:org.eclipse.jdt.ui.JavaBrowsingPerspective - persp.perspSC:org.eclipse.debug.ui.DebugPerspective - persp.newWizSC:com.android.ide.eclipse.adt.project.NewProjectWizard - persp.newWizSC:com.android.ide.eclipse.editors.wizards.NewXmlFileWizard - persp.actionSet:adt.actionSet.wizards - persp.actionSet:adt.actionSet.avdManager - persp.actionSet:adt.actionSet.lint - persp.actionSet:adt.actionSet.refactorings - persp.perspSC:com.android.ide.eclipse.ddms.Perspective - persp.perspSC:com.android.ide.eclipse.hierarchyviewer.PixelPerfectPespective - persp.perspSC:com.android.ide.eclipse.hierarchyviewer.TreeViewPerspective - persp.viewSC:org.eclipse.ant.ui.views.AntView - persp.showIn:org.eclipse.egit.ui.RepositoriesView - persp.actionSet:org.eclipse.debug.ui.breakpointActionSet - persp.actionSet:org.eclipse.jdt.debug.ui.JDTDebugActionSet - persp.newWizSC:org.eclipse.jdt.junit.wizards.NewTestCaseCreationWizard - persp.actionSet:org.eclipse.jdt.junit.JUnitActionSet - persp.showIn:org.eclipse.jdt.ui.PackageExplorer - persp.showIn:org.eclipse.team.ui.GenericHistoryView - persp.showIn:org.eclipse.ui.views.ResourceNavigator - persp.showIn:org.eclipse.ui.navigator.ProjectExplorer - persp.viewSC:org.eclipse.mylyn.tasks.ui.views.tasks - persp.newWizSC:org.eclipse.mylyn.tasks.ui.wizards.new.repository.task - persp.perspSC:org.eclipse.wst.jsdt.ui.JavaPerspective - - - - newtablook - org.eclipse.e4.primaryNavigationStack - - - - - - - - newtablook - - - - - - - - - newtablook - - - - newtablook - org.eclipse.e4.secondaryNavigationStack - - - - - - - - newtablook - org.eclipse.e4.secondaryDataStack - - - - - - - - - - - - - - - - - - - - - View - categoryTag:Help - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - View - categoryTag:Help - - - - newtablook - org.eclipse.e4.primaryDataStack - EditorStack - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - - - - Editor - org.eclipse.ui.DefaultTextEditor - removeOnHide - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - activeOnClose - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - - - - Editor - org.eclipse.jdt.ui.CompilationUnitEditor - removeOnHide - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - View - categoryTag:General - - - View - categoryTag:Java - - ViewMenu - menuContribution:menu - - - - - View - categoryTag:Java Browsing - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - View - categoryTag:General - - - View - categoryTag:Server - - - View - categoryTag:Data Management - - - View - categoryTag:General - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - View - categoryTag:General - - ViewMenu - menuContribution:menu - - - - - - View - categoryTag:Mylyn - - ViewMenu - menuContribution:menu - - - - - - View - categoryTag:Java - - ViewMenu - menuContribution:menu - - - - - - View - categoryTag:Java - - ViewMenu - menuContribution:menu - - - - - - View - categoryTag:Java - - ViewMenu - menuContribution:menu - - - - - View - categoryTag:General - - - View - categoryTag:Ant - - - View - categoryTag:Git - - - View - categoryTag:Java - - - - toolbarSeparator - - - - Draggable - - - - - - - - - - - - - - - toolbarSeparator - - - - Draggable - - - - - - Draggable - - - - - Draggable - - - - - Draggable - - - - - Draggable - - - - - - - Draggable - - - - - - - Draggable - - - - - - Draggable - - - - - - - Draggable - - - - - - - - - - Draggable - - - - - Draggable - - - - - toolbarSeparator - - - - Draggable - - - - - - - - - - - - toolbarSeparator - - - - toolbarSeparator - - - - Draggable - - - - - stretch - - - glue - - - - glue - - - Draggable - - - - - stretch - - - - Draggable - - - - - TrimStack - - - - - TrimStack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - locale:hu - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - platform:win32 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Editor - - - View - categoryTag:Ant - - - View - categoryTag:Data Management - - - View - categoryTag:Data Management - - - View - categoryTag:Data Management - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Debug - - - View - categoryTag:Git - - - View - categoryTag:Git - - - View - categoryTag:Git - - - View - categoryTag:Git - - - View - categoryTag:General - - - View - categoryTag:Help - - - View - categoryTag:Debug - - - View - categoryTag:Java - - - View - categoryTag:Java - - - View - categoryTag:Java - - - View - categoryTag:Java Browsing - - - View - categoryTag:Java Browsing - - - View - categoryTag:Java Browsing - - - View - categoryTag:Java Browsing - - - View - categoryTag:Java - - - View - categoryTag:General - - - View - categoryTag:Java - - - View - categoryTag:Java - - - View - categoryTag:JPA - - - View - categoryTag:JPA - - - View - categoryTag:JavaServer Faces - - - View - categoryTag:JavaServer Faces - - - View - categoryTag:JAX-WS - - - View - categoryTag:Mylyn - - - View - categoryTag:Mylyn - - - View - categoryTag:Mylyn - - - View - categoryTag:API Tools - - - View - categoryTag:Plug-in Development - - - View - categoryTag:Plug-in Development - - - View - categoryTag:Plug-in Development - - - View - categoryTag:Plug-in Development - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:Remote Systems - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:CVS - - - View - categoryTag:CVS - - - View - categoryTag:Team - - - View - categoryTag:Team - - - View - categoryTag:Terminal - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:Help - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:General - - - View - categoryTag:Debug - - - View - categoryTag:JavaScript - - - View - categoryTag:JavaScript - - - View - categoryTag:JavaScript - - - View - categoryTag:JavaScript - - - View - categoryTag:JavaScript - - - View - categoryTag:Server - - - View - categoryTag:XML - - - View - categoryTag:XML - - - View - categoryTag:XML - - - View - categoryTag:XML - - - View - categoryTag:XML - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Tracer for OpenGL ES - - - View - categoryTag:Tracer for OpenGL ES - - - View - categoryTag:Tracer for OpenGL ES - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - View - categoryTag:Android - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1017853417.index b/.metadata/.plugins/org.eclipse.jdt.core/1017853417.index deleted file mode 100644 index 613fe0d..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1017853417.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1045485630.index b/.metadata/.plugins/org.eclipse.jdt.core/1045485630.index deleted file mode 100644 index 6af1fac..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1045485630.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/115418958.index b/.metadata/.plugins/org.eclipse.jdt.core/115418958.index deleted file mode 100644 index 980991a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/115418958.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1337478678.index b/.metadata/.plugins/org.eclipse.jdt.core/1337478678.index deleted file mode 100644 index 662a1c5..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1337478678.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1467104569.index b/.metadata/.plugins/org.eclipse.jdt.core/1467104569.index deleted file mode 100644 index 31d122c..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1467104569.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index b/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index deleted file mode 100644 index 6744a3b..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1508644233.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1528680760.index b/.metadata/.plugins/org.eclipse.jdt.core/1528680760.index deleted file mode 100644 index fe1f964..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1528680760.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1737447423.index b/.metadata/.plugins/org.eclipse.jdt.core/1737447423.index deleted file mode 100644 index 5fe1ed0..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1737447423.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1787405673.index b/.metadata/.plugins/org.eclipse.jdt.core/1787405673.index deleted file mode 100644 index 28d3bc9..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1787405673.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1934142626.index b/.metadata/.plugins/org.eclipse.jdt.core/1934142626.index deleted file mode 100644 index 34eb545..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/1934142626.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2535676096.index b/.metadata/.plugins/org.eclipse.jdt.core/2535676096.index deleted file mode 100644 index fa78158..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2535676096.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2674037006.index b/.metadata/.plugins/org.eclipse.jdt.core/2674037006.index deleted file mode 100644 index f575fa3..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/2674037006.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3045053200.index b/.metadata/.plugins/org.eclipse.jdt.core/3045053200.index deleted file mode 100644 index 5fe1ed0..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3045053200.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3089967703.index b/.metadata/.plugins/org.eclipse.jdt.core/3089967703.index deleted file mode 100644 index 25261ef..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3089967703.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/323251068.index b/.metadata/.plugins/org.eclipse.jdt.core/323251068.index deleted file mode 100644 index f41e451..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/323251068.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/355369697.index b/.metadata/.plugins/org.eclipse.jdt.core/355369697.index deleted file mode 100644 index b61685a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/355369697.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3604769962.index b/.metadata/.plugins/org.eclipse.jdt.core/3604769962.index deleted file mode 100644 index f625f2c..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3604769962.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3656756579.index b/.metadata/.plugins/org.eclipse.jdt.core/3656756579.index deleted file mode 100644 index f204379..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3656756579.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3716007315.index b/.metadata/.plugins/org.eclipse.jdt.core/3716007315.index deleted file mode 100644 index ae0b607..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3716007315.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3954291735.index b/.metadata/.plugins/org.eclipse.jdt.core/3954291735.index deleted file mode 100644 index e65ad1b..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/3954291735.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4187470955.index b/.metadata/.plugins/org.eclipse.jdt.core/4187470955.index deleted file mode 100644 index 7d608a6..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/4187470955.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/50372563.index b/.metadata/.plugins/org.eclipse.jdt.core/50372563.index deleted file mode 100644 index f99454a..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/50372563.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/533208796.index b/.metadata/.plugins/org.eclipse.jdt.core/533208796.index deleted file mode 100644 index 62ce428..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/533208796.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/605290374.index b/.metadata/.plugins/org.eclipse.jdt.core/605290374.index deleted file mode 100644 index fba94c9..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/605290374.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/678131303.index b/.metadata/.plugins/org.eclipse.jdt.core/678131303.index deleted file mode 100644 index f025474..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/678131303.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/994834796.index b/.metadata/.plugins/org.eclipse.jdt.core/994834796.index deleted file mode 100644 index 40487a5..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/994834796.index and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps deleted file mode 100644 index 16410e6..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt b/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt deleted file mode 100644 index 68a85ef..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.core/indexNamesMap.txt +++ /dev/null @@ -1 +0,0 @@ -INDEX VERSION 1.126 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache b/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache deleted file mode 100644 index 593f470..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/invalidArchivesCache and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt deleted file mode 100644 index 8586397..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.core/javaLikeNames.txt +++ /dev/null @@ -1 +0,0 @@ -java \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache deleted file mode 100644 index 3c250b0..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt b/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt deleted file mode 100644 index 1d11738..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.core/savedIndexNames.txt +++ /dev/null @@ -1,27 +0,0 @@ -INDEX VERSION 1.126+D:\Z - Norbi cucca\0 Projektek\TheButtonMCAutoFlairProto\Spigot plugin\.metadata\.plugins\org.eclipse.jdt.core -1508644233.index -3089967703.index -2674037006.index -323251068.index -355369697.index -1934142626.index -3716007315.index -678131303.index -1045485630.index -605290374.index -533208796.index -1337478678.index -1528680760.index -1737447423.index -1467104569.index -4187470955.index -2535676096.index -1787405673.index -50372563.index -1017853417.index -115418958.index -3604769962.index -994834796.index -3954291735.index -3045053200.index -3656756579.index diff --git a/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat b/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat deleted file mode 100644 index caa2cdf..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.core/variablesAndContainers.dat and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml deleted file mode 100644 index 0c26fde..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.debug.ui/dialog_settings.xml +++ /dev/null @@ -1,14 +0,0 @@ - -
-
- - -
- - - - - -
-
-
diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml deleted file mode 100644 index 10a479a..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml b/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml deleted file mode 100644 index d947319..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.launching/libraryInfos.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml deleted file mode 100644 index a4ee3cb..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/OpenTypeHistory.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml deleted file mode 100644 index 287b3e0..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml deleted file mode 100644 index 944c302..0000000 --- a/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml +++ /dev/null @@ -1,76 +0,0 @@ - -
- - - - - - -
- - -
-
- - - - - -
-
- - - - - -
-
- - - -
-
- -
-
- -
-
-
-
- -
-
- - - - -
-
-
-
- - - - - - - - - - - - - - - - - - - - - -
-
-
-
diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png deleted file mode 100644 index 9abe3c5..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/1.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/1.png deleted file mode 100644 index 834bd74..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/1.png and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/2.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/2.png deleted file mode 100644 index 7a08c10..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/2.png and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/3.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/3.png deleted file mode 100644 index 3629023..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/3.png and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/4.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/4.png deleted file mode 100644 index a930fe1..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/4.png and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/5.png b/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/5.png deleted file mode 100644 index 56554ec..0000000 Binary files a/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/5.png and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/1508644233.dat b/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/1508644233.dat deleted file mode 100644 index dfc9f45..0000000 Binary files a/.metadata/.plugins/org.eclipse.jst.jsp.core/taglibindex/1508644233.dat and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2015/7/29/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2015/7/29/refactorings.history deleted file mode 100644 index 37c35e5..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2015/7/29/refactorings.history +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2015/7/29/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2015/7/29/refactorings.index deleted file mode 100644 index 6c53ce2..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2015/7/29/refactorings.index +++ /dev/null @@ -1 +0,0 @@ -1436966989747 Delete resource 'TheButtonAutoFlair' diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/7/29/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/7/29/refactorings.history deleted file mode 100644 index e000f4e..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/7/29/refactorings.history +++ /dev/null @@ -1,3 +0,0 @@ - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/7/29/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/7/29/refactorings.index deleted file mode 100644 index a8676c0..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/7/29/refactorings.index +++ /dev/null @@ -1,3 +0,0 @@ -1436981792569 Move folder -1437034536865 Delete element -1437041052403 Rename type 'CommandKit' diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/32/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/32/refactorings.history deleted file mode 100644 index d388da2..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/32/refactorings.history +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/32/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/32/refactorings.index deleted file mode 100644 index 707fa27..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/32/refactorings.index +++ /dev/null @@ -1 +0,0 @@ -1439082947025 Delete element diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/35/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/35/refactorings.history deleted file mode 100644 index bd51724..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/35/refactorings.history +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/35/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/35/refactorings.index deleted file mode 100644 index e385272..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/TheButtonAutoFlair/2015/8/35/refactorings.index +++ /dev/null @@ -1 +0,0 @@ -1440800831420 Delete element diff --git a/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml deleted file mode 100644 index aa26784..0000000 --- a/.metadata/.plugins/org.eclipse.ltk.ui.refactoring/dialog_settings.xml +++ /dev/null @@ -1,7 +0,0 @@ - -
-
- - -
-
diff --git a/.metadata/.plugins/org.eclipse.mylyn.tasks.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.mylyn.tasks.ui/dialog_settings.xml deleted file mode 100644 index 9e1d9ed..0000000 --- a/.metadata/.plugins/org.eclipse.mylyn.tasks.ui/dialog_settings.xml +++ /dev/null @@ -1,18 +0,0 @@ - -
-
- - - - - - -
- - - - - -
-
-
diff --git a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties deleted file mode 100644 index 1d61cc0..0000000 --- a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Cached timestamps -#Fri Aug 28 23:32:43 CEST 2015 diff --git a/.metadata/.plugins/org.eclipse.rse.core/.log b/.metadata/.plugins/org.eclipse.rse.core/.log deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark b/.metadata/.plugins/org.eclipse.rse.core/initializerMarks/org.eclipse.rse.internal.core.RSELocalConnectionInitializer.mark deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/FP.local.files_0/node.properties b/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/FP.local.files_0/node.properties deleted file mode 100644 index 28fb3f4..0000000 --- a/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/FP.local.files_0/node.properties +++ /dev/null @@ -1,57 +0,0 @@ -# RSE DOM Node -00-name=NORBI-PC\:local.files -01-type=FilterPool -03-attr.default=true -03-attr.deletable=true -03-attr.id=local.files -03-attr.nonRenamable=false -03-attr.owningParentName=null -03-attr.release=200 -03-attr.singleFilterStringOnly=false -03-attr.singleFilterStringOnlyESet=false -03-attr.stringsCaseSensitive=true -03-attr.supportsDuplicateFilterStrings=false -03-attr.supportsNestedFilters=true -03-attr.type=default -06-child.00000.00-name=My Home -06-child.00000.01-type=Filter -06-child.00000.03-attr.default=false -06-child.00000.03-attr.filterType=default -06-child.00000.03-attr.id=My Home -06-child.00000.03-attr.nonChangable=false -06-child.00000.03-attr.nonDeletable=false -06-child.00000.03-attr.nonRenamable=false -06-child.00000.03-attr.promptable=false -06-child.00000.03-attr.relativeOrder=0 -06-child.00000.03-attr.release=200 -06-child.00000.03-attr.singleFilterStringOnly=false -06-child.00000.03-attr.stringsCaseSensitive=false -06-child.00000.03-attr.stringsNonChangable=false -06-child.00000.03-attr.supportsDuplicateFilterStrings=false -06-child.00000.03-attr.supportsNestedFilters=true -06-child.00000.06-child.00000.00-name=C\:\\Users\\Norbi\\* -06-child.00000.06-child.00000.01-type=FilterString -06-child.00000.06-child.00000.03-attr.default=false -06-child.00000.06-child.00000.03-attr.string=C\:\\Users\\Norbi\\* -06-child.00000.06-child.00000.03-attr.type=default -06-child.00001.00-name=Drives -06-child.00001.01-type=Filter -06-child.00001.03-attr.default=false -06-child.00001.03-attr.filterType=default -06-child.00001.03-attr.id=Drives -06-child.00001.03-attr.nonChangable=false -06-child.00001.03-attr.nonDeletable=false -06-child.00001.03-attr.nonRenamable=false -06-child.00001.03-attr.promptable=false -06-child.00001.03-attr.relativeOrder=0 -06-child.00001.03-attr.release=200 -06-child.00001.03-attr.singleFilterStringOnly=false -06-child.00001.03-attr.stringsCaseSensitive=false -06-child.00001.03-attr.stringsNonChangable=false -06-child.00001.03-attr.supportsDuplicateFilterStrings=false -06-child.00001.03-attr.supportsNestedFilters=true -06-child.00001.06-child.00000.00-name=* -06-child.00001.06-child.00000.01-type=FilterString -06-child.00001.06-child.00000.03-attr.default=false -06-child.00001.06-child.00000.03-attr.string=* -06-child.00001.06-child.00000.03-attr.type=default diff --git a/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/H.local_16/node.properties b/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/H.local_16/node.properties deleted file mode 100644 index 128cdf7..0000000 --- a/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/H.local_16/node.properties +++ /dev/null @@ -1,25 +0,0 @@ -# RSE DOM Node -00-name=Local -01-type=Host -03-attr.description= -03-attr.hostname=LOCALHOST -03-attr.offline=false -03-attr.promptable=false -03-attr.systemType=org.eclipse.rse.systemtype.local -03-attr.type=Local -06-child.00000.00-name=Local Connector Service -06-child.00000.01-type=ConnectorService -06-child.00000.03-attr.group=Local Connector Service -06-child.00000.03-attr.port=0 -06-child.00000.03-attr.useSSL=false -06-child.00000.06-child.00000.00-name=Local Files -06-child.00000.06-child.00000.01-type=SubSystem -06-child.00000.06-child.00000.03-attr.hidden=false -06-child.00000.06-child.00000.03-attr.type=local.files -06-child.00000.06-child.00000.06-child.00000.00-name=NORBI-PC___NORBI-PC\:local.files -06-child.00000.06-child.00000.06-child.00000.01-type=FilterPoolReference -06-child.00000.06-child.00000.06-child.00000.03-attr.refID=local.files -06-child.00000.06-child.00001.00-name=Local Shells -06-child.00000.06-child.00001.01-type=SubSystem -06-child.00000.06-child.00001.03-attr.hidden=false -06-child.00000.06-child.00001.03-attr.type=local.shells diff --git a/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/node.properties b/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/node.properties deleted file mode 100644 index 910091b..0000000 --- a/.metadata/.plugins/org.eclipse.rse.core/profiles/PRF.norbi-pc_251/node.properties +++ /dev/null @@ -1,7 +0,0 @@ -# RSE DOM Node -00-name=NORBI-PC -01-type=Profile -03-attr.defaultPrivate=true -03-attr.isActive=true -05-ref.00000=FP.local.files_0 -05-ref.00001=H.local_16 diff --git a/.metadata/.plugins/org.eclipse.rse.ui/.log b/.metadata/.plugins/org.eclipse.rse.ui/.log deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.search/dialog_settings.xml b/.metadata/.plugins/org.eclipse.search/dialog_settings.xml deleted file mode 100644 index 02fab0f..0000000 --- a/.metadata/.plugins/org.eclipse.search/dialog_settings.xml +++ /dev/null @@ -1,15 +0,0 @@ - -
-
- - -
-
- - -
-
- - -
-
diff --git a/.metadata/.plugins/org.eclipse.team.cvs.core/.running b/.metadata/.plugins/org.eclipse.team.cvs.core/.running deleted file mode 100644 index e69de29..0000000 diff --git a/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml deleted file mode 100644 index 50f1edb..0000000 --- a/.metadata/.plugins/org.eclipse.ui.editors/dialog_settings.xml +++ /dev/null @@ -1,5 +0,0 @@ - -
-
-
-
diff --git a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml deleted file mode 100644 index c458f04..0000000 --- a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +++ /dev/null @@ -1,16 +0,0 @@ - -
-
- - -
-
- - - -
-
- - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml deleted file mode 100644 index fe6b497..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml +++ /dev/null @@ -1,35 +0,0 @@ - -
-
- - -
-
- - - - - - - - - - - - - - - - - - - -
-
- - - - - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml deleted file mode 100644 index c04db39..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +++ /dev/null @@ -1,23 +0,0 @@ - -
-
- - - - - - - - - - -
-
-
-
- - - - -
-
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml b/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml deleted file mode 100644 index 25ae4e8..0000000 --- a/.metadata/.plugins/org.eclipse.ui.workbench/workingsets.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps b/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps deleted file mode 100644 index 63a2dc4..0000000 Binary files a/.metadata/.plugins/org.eclipse.wst.jsdt.core/externalLibsTimeStamps and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js deleted file mode 100644 index aad16dc..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/baseBrowserLibrary.js +++ /dev/null @@ -1,5393 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -/** - * Object DOMException() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function DOMException(){}; -DOMException.prototype = new Object(); -/** - * Constant DOMException.INDEX_SIZE_ERR=1 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INDEX_SIZE_ERR=1; -/** - * Constant DOMException.DOMSTRING_SIZE_ERR=2 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.DOMSTRING_SIZE_ERR=2; -/** - * Constant DOMException.HIERARCHY_REQUEST_ERR=3 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.HIERARCHY_REQUEST_ERR=3; -/** - * Constant DOMException.WRONG_DOCUMENT_ERR=4 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.WRONG_DOCUMENT_ERR=4; -/** - * Constant DOMException.INVALID_CHARACTER_ERR=5 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_CHARACTER_ERR=5; -/** - * Constant DOMException.NO_DATA_ALLOWED_ER=6 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NO_DATA_ALLOWED_ER=6; -/** - * Constant DOMException.NO_MODIFICATION_ALLOWED_ERR=7 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NO_MODIFICATION_ALLOWED_ERR=7; -/** - * Constant DOMException.NOT_FOUND_ERR=8 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NOT_FOUND_ERR=8; -/** - * Constant DOMException.NOT_SUPPORTED_ERR=9 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NOT_SUPPORTED_ERR=9; -/** - * Constant DOMException.INUSE_ATTRIBUTE_ERR=10 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INUSE_ATTRIBUTE_ERR=10; -/** - * Constant DOMException.INVALID_STATE_ERR=11 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_STATE_ERR=11; -/** - * Constant DOMException.SYNTAX_ERR=12 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.SYNTAX_ERR=12; -/** - * Constant DOMException.INVALID_MODIFICATION_ER=13 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_MODIFICATION_ER=13; -/** - * Constant DOMException.NAMESPACE_ERR=14 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NAMESPACE_ERR=14; -/** - * Constant DOMException.NVALID_ACCESS_ERR=15 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_ACCESS_ERR=15; -/** - * Property code - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.prototype.code=0; - -/** - * Object DOMImplementation() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function DOMImplementation(){}; -DOMImplementation.prototype = new Object(); -/** - * function hasFeature(feature, version) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} feature - * @param {String} version - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMImplementation.prototype.hasFeature = function(feature, version){return false;}; -/** - * function createDocumentType(qualifiedName, publicId, systemId) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} qualifiedName - * @param {String} publicId - * @param {String} systemId - * @returns {DocumentType} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DocumentType - */ -DOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId){return new DocumentType();}; -/** - * function createDocument(namespaceURI, qualifiedName, doctype) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @param {DocumentType} doctype - * @returns {Document} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Document - */ -DOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype){return new HTMLDocument();}; - -/** - * Object DocumentFragment() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function DocumentFragment(){}; -DocumentFragment.prototype=new Node(); - -/** - * Object Document() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Document(){}; -Document.prototype = new Node(); -/** - * Property defaultView - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Window - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Window - */ -Document.prototype.defaultView = new Window(); -/** - * Property doctype - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type DocumentType - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DocumentType - */ -Document.prototype.doctype = new DocumentType(); -/** - * Property implementation - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type DOMImplementation - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DOMImplementation - */ -Document.prototype.implementation = new DOMImplementation(); -/** - * Property documentElement - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Element - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.documentElement= new HTMLElement(); -/** - * Property styleSheets - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Document.prototype.styleSheets= new Array(); -/** - * function createElement(tagName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} tagName - * @returns {Element} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.createElement=function(tagName){return new HTMLElement();}; -/** - * function createDocumentFragment() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @returns {DocumentFragment} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DocumentFragment - */ -Document.prototype.createDocumentFragment=function(){return new DocumentFragment();}; -/** - * function createTextNode(data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} data - * @returns {Text} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Text - */ -Document.prototype.createTextNode=function(data){return new Text();}; -/** - * function createComment(data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} data - * @returns {Comment} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Comment - */ -Document.prototype.createComment=function(data){return new Comment();}; -/** - * function createCDATASection(data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} data - * @returns {CDATASection} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see CDATASection - */ -Document.prototype.createCDATASection=function(data){}; -/** - * function createProcessingInstruction(target, data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type ProcessingInstruction - * @param {String} target - * @param {String} data - * @returns {ProcessingInstruction} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see ProcessingInstruction -*/ -Document.prototype.createProcessingInstruction=function(target, data){return new ProcessingInstruction();}; -/** - * function createAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Attr - */ -Document.prototype.createAttribute=function(name){return new Attr();}; -/** - * function createEntityReference(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {EntityReference} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see EntityReference - */ -Document.prototype.createEntityReference=function(name){return new EntityReference();}; -/** - * function getElementsByTagName(tagname) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} tagname - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NodeList - */ -Document.prototype.getElementsByTagName=function(tagname){return new NodeList();}; -/** - * function importNode(importedNode, deep) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} importedNode - * @param {Boolean} deep - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Document.prototype.importNode=function(importedNode, deep){return new Node();}; -/** - * function createElementNS(namespaceURI, qualifiedName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @returns {Element} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.createElementNS=function(namespaceURI, qualifiedName){return new HTMLElement();}; -/** - * function createEvent(String eventType) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} eventType - * @returns {Object} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.createEvent=function(eventType){return new Object();}; -/** - * function createAttributeNS(namespaceURI, qualifiedName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Attr - */ -Document.prototype.createAttributeNS=function(namespaceURI, qualifiedName){return new Attr();}; -/** - * function getElementsByTagNameNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NodeList - */ -Document.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; -/** - * function getElementById(elementId) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} elementId - * @returns {Element} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.getElementById=function(elementId){return new HTMLElement();}; - -/** - * Object Node() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @memberOf Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function Node(){}; -Node.prototype=new Object(); -/** - * Constant Node.ELEMENT_NODE=1 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.ELEMENT_NODE=1; -/** - * Constant Node.ATTRIBUTE_NODE=2 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.ATTRIBUTE_NODE=2; -/** - * Constant Node.TEXT_NODE=3 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.TEXT_NODE=3; -/** - * Constant Node.CDATA_SECTION_NODE=4 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.CDATA_SECTION_NODE=4; -/** - * Constant Node.ENTITY_REFERENCE_NODE=5 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.ENTITY_REFERENCE_NODE=5; -/** - * Constant Node.ENTITY_NODE=6 - * @type Number - * @memberOf Node - * @see Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html -*/ -Node.ENTITY_NODE=6; -/** - * Constant Node.PROCESSING_INSTRUCTION_NODE=7 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.PROCESSING_INSTRUCTION_NODE=7; -/** - * Constant Node.COMMENT_NODE=8 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.COMMENT_NODE=8; -/** - * Constant Node.DOCUMENT_NODE=9 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.DOCUMENT_NODE=9; -/** - * Constant Node.DOCUMENT_TYPE_NODE=10 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.DOCUMENT_TYPE_NODE=10; -/** - * Constant Node.DOCUMENT_FRAGMENT_NODE=11 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.DOCUMENT_FRAGMENT_NODE=11; -/** - * Constant Node.NOTATION_NODE=12 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.NOTATION_NODE=12; -/** - * Property nodeName - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.nodeName = ""; -/** - * Property nodeValue - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.nodeValue = ""; -/** - * Property nodeType - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.nodeType = 0; -/** - * Property parentNode - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.parentNode=new Node(); -/** - * Property childNodes - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NodeList - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NodeList -*/ -Node.prototype.childNodes=new NodeList(); -/** - * Property firstChild - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.firstChild=new Node(); -/** - * Property lastChild - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.lastChild=new Node(); -/** - * Property previousSibling - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.previousSibling=new Node(); -/** - * Property nextSibling - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.nextSibling=new Node(); -/** - * Property attributes - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NamedNodeMap - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NamedNodeMap - */ -Node.prototype.attributes=new NamedNodeMap(); -/** - * Property ownerDocument - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Document - */ -Node.prototype.ownerDocument = new HTMLDocument(); -/** - * Property namespaceURI - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.namespaceURI=""; -/** - * Property prefix - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.prefix = ""; -/** - * Property localName - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.localName= ""; -/** - * function insertBefore(newChild, refChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} newChild - * @param {Node} refChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.insertBefore = function(newChild, refChild){return new Node();}; -/** - * function replaceChild(newChild, oldChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} newChild - * @param {Node} oldChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.replaceChild = function(newChild, oldChild){return new Node();}; -/** - * function removeChild(oldChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} oldChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.removeChild = function(oldChild){return new Node();}; -/** - * function appendChild(newChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} newChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.appendChild = function(newChild){return new Node();}; -/** - * function hasChildNodes() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.hasChildNodes=function(){return false;}; -/** - * function cloneNode(deep) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Boolean} deep - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.cloneNode=function(deep){return new Node();}; -/** - * function normalize() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.normalize = function(){}; -/** - * function isSupported(feature, version) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} feature - * @param {String} version - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.isSupported=function(feature, version){return false;}; -/** - * function hasAttributes() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.hasAttributes=function(){return false;}; - -/** - * Object NodeList() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function NodeList(){}; -NodeList.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -NodeList.prototype.length=0; -/** - * function item(index) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node -*/ -NodeList.prototype.item = function(index){return new Node();}; - -/** - * Object NamedNodeMap() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function NamedNodeMap(){}; -NamedNodeMap.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -NamedNodeMap.prototype.length=0; -/** - * function getNamedItem(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.getNamedItem=function(name){return new Node();}; -/** - * function setNamedItem(arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} arg - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.setNamedItem=function(arg){return new Node();}; -/** - * function removeNamedItem(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.removeNamedItem=function(name){return new Node();}; -/** - * function item(index) - * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index. - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.item=function(index){return new Node();}; -/** - * function getNamedItemNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.getNamedItemNS=function(namespaceURI, localName){return new Node();}; -/** - * function setNamedItemNS(arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} arg - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.setNamedItemNS=function(arg){return new Node();}; -/** - * function removeNamedItemNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.removeNamedItemNS=function(namespaceURI, localName){return new Node();}; - -/** - * Object CharacterData() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function CharacterData(){}; -CharacterData.prototype=new Node(); -/** - * Property data - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.data=""; -/** - * Property length - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.length=0; -/** - * function substringData(offset, count) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {Number} count - * @returns {String} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.substringData=function(offset, count){return "";}; -/** - * function appendData(arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} arg - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.appendData=function(arg){}; -/** - * function insertData(offset, arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {String} arg - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.insertData=function(offset, arg){}; -/** - * function deleteData(offset, count) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {Number} count - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.deleteData=function(offset, count){}; -/** - * function replaceData(offset, count, arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {Number} count - * @param {String} arg - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.replaceData=function(offset, count, arg){}; - -/** - * Object Attr() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Attr(){}; -Attr.prototype = new Node(); -/** - * Property name - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Attr.prototype.name = ""; -/** - * Property specified - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Attr.prototype.specified = false; -/** - * Property value - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Attr.prototype.value = ""; -/** - * Property ownerElement - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Element - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Attr.prototype.ownerElement = new Element(); - -/** - * Object Element() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Element(){}; -Element.prototype=new Node(); -/** - * Property tagName - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.tagName=""; -/** - * function addEventListener(Stirng type, Function listener, Boolean useCapture) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} type - * @param {Function} listener - * @param {Boolean} useCapture - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.addEventListener=function(type, listener, useCapture){}; -/** - * function attachEvent(String type, Function listener) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} type - * @param {Function} listener - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.attachEvent=function(type, listener){}; -/** - * function detachEvent(String type, Function listener) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} type - * @param {Function} listener - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.detachEvent=function(type, listener){}; -/** - * function dispatchEvent(Object event) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Object} event - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.dispatchEvent=function(event){return false;}; -/** - * function getAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttribute=function(name){return "";}; -/** - * function setAttribute(name, value) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @param {String} value - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttribute=function(name, value){}; -/** - * function removeAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.removeAttribute=function(name){}; -/** - * function getAttributeNode(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Attr} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttributeNode=function(name){return new Attr();}; -/** - * function setAttributeNode(newAttr) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Attr} newAttr - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttributeNode=function(newAttr){return new Attr();}; -/** - * function removeAttributeNode(oldAttr) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Attr} oldAttr - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.removeAttributeNode=function(oldAttr){return new Attr();}; -/** - * function getElementsByTagName(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getElementsByTagName=function(name){return new NodeList();}; -/** - * function getAttributeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {String} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttributeNS=function(namespaceURI, localName){return "";}; -/** - * function setAttributeNS(namespaceURI, qualifiedName, value) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @param {String} value - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttributeNS=function(namespaceURI, qualifiedName, value){}; -/** - * function removeAttributeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.removeAttributeNS=function(namespaceURI, localName){}; -/** - * function getAttributeNodeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Attr} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttributeNodeNS=function(namespaceURI, localName){return new Attr();}; -/** - * function setAttributeNodeNS(newAttr) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Attr} newAttr - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttributeNodeNS=function(newAttr){return new Attr();}; -/** - * function getElementsByTagNameNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; -/** - * function hasAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.hasAttribute=function(name){return false;}; -/** - * function hasAttributeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.hasAttributeNS=function(namespaceURI, localName){return false;}; - -/** - * Object Text() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments CharacterData - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see CharacterData - */ -function Text(){}; -Text.prototype = new CharacterData(); -/** - * function splitText(offset) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @returns {Text} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Text - */ -Text.prototype.splitText = function(offset) {return new Text();}; - -/** - * Object Comment() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments CharacterData - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see CharacterData - */ -function Comment(){}; -Comment.prototype = new CharacterData(); - -/** - * Object CDATASection() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Text - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Text - */ -function CDATASection(){}; -CDATASection.prototype = new Text(); - -/** - * Object DocumentType() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function DocumentType(){}; -DocumentType.prototype = new Node(); -/** - * Property name - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.name=""; -/** - * Property entities - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NamedNodeMap - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.entities = new NamedNodeMap(); -/** - * Property notations - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NamedNodeMap - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.notations=new NamedNodeMap(); -/** - * Property publicId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.publicId=""; -/** - * Property systemId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.systemId=""; -/** - * Property internalSubset - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.internalSubset=""; - -/** - * Object Notation() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Notation(){}; -Notation.prototype=new Node(); -/** - * Property publicId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Notation.prototype.publicId=""; -/** - * Property systemId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Notation.prototype.systemId=""; - -/** - * Object Entity() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Entity(){}; -Entity.prototype=new Node(); -/** - * Property publicId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Entity.prototype.publicId=""; -/** - * Property systemId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Entity.prototype.systemId=""; -/** - * Property notationName - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Entity.prototype.notationName=""; - -/** - * Object EntityReference() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function EntityReference(){}; -EntityReference.prototype=new Node(); - -/** - * Object ProcessingInstruction() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function ProcessingInstruction(){}; -ProcessingInstruction.prototype=new Node(); -/** - * Property target - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -ProcessingInstruction.prototype.target=""; -/** - * Property target - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -ProcessingInstruction.prototype.data=""; - - -/*HTML DOM Below this line*/ - -/** - * Object HTMLCollection() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -function HTMLCollection(){}; -HTMLCollection.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLCollection.prototype.length=0; -/** - * function item(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLCollection.prototype.item = function(index){return new Node();}; -/** - * function namedItem(name) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} name - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLCollection.prototype.namedItem = function(index){return new Node();}; - -/** - * Object HTMLOptionsCollection() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -function HTMLOptionsCollection(){}; -HTMLOptionsCollection.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionsCollection.prototype.length=0; -/** - * function item(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionsCollection.prototype.item = function(index){return new Node();}; -/** - * function namedItem(name) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} name - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionsCollection.prototype.namedItem = function(index){return new Node();}; - -/** - * Object HTMLDocument() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Document - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see Document - */ -function HTMLDocument(){}; -HTMLDocument.prototype = new Document(); -/** - * Property title - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.title=""; -/** - * Property referrer - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.referrer=""; -/** - * Property domain - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.domain=""; -/** - * Property URL - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.URL=""; -/** - * Property body - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.body=new HTMLElement(); -/** - * Property images - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.images=new HTMLCollection(); -/** - * Property applets - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.applets=new HTMLCollection(); -/** - * Property links - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.links=new HTMLCollection(); -/** - * Property forms - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.forms=new HTMLCollection(); -/** - * Property anchors - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.anchors=new HTMLCollection(); -/** - * Property cookie - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.cookie=""; -/** - * Property lastModified - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.lastModified=""; -/** - * function open() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.open = function(){}; -/** - * function close() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.close = function(){}; -/** - * function write(text) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} text - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.write = function(text){}; -/** - * function writeln(text) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} text - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.writeln = function(text){}; -/** - * function getElementsByName(elementName) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} elementName - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.getElementsByName = function(elementName){return new NodeList();}; - -/** - * Object HTMLElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Element - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see Element - */ -function HTMLElement(){}; -HTMLElement.prototype = new Element(); -/** - * Property id - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.id=""; -/** - * Property title - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.title=""; -/** - * Property lang - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.lang=""; -/** - * Property dir - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.dir=""; -/** - * Property className - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.className=""; -/** - * Property innerHTML - * - * @type String - */ -HTMLElement.prototype.innerHTML=""; -/** - * Property offsetHeight - * - * @type Number - */ -HTMLElement.prototype.offsetHeight=0; -/** - * Property offsetWidth - * - * @type Number - */ -HTMLElement.prototype.offsetWidth=0; -/** - * Property offsetLeft - * - * @type Number - */ -HTMLElement.prototype.offsetLeft=0; -/** - * Property offsetTop - * - * @type Number - */ -HTMLElement.prototype.offsetTop=0; -/** - * Property offsetParent - * - * @type HTMLElement - */ -HTMLElement.prototype.offsetParent = new HTMLElement(); -/** - * Property scrollHeight - * - * @type Number - */ -HTMLElement.prototype.scrollHeight=0; -/** - * Property scrollWidth - * - * @type Number - */ -HTMLElement.prototype.scrollWidth=0; -/** - * Property scrollLeft - * - * @type Number - */ -HTMLElement.prototype.scrollLeft=0; -/** - * Property scrollTop - * - * @type Number - */ -HTMLElement.prototype.scrollTop=0; -/** - * Property style - * - * @type CSS2Properties - */ -HTMLElement.prototype.style = new CSS2Properties(); - -/** - * Object HTMLHtmlElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHtmlElement(){}; -HTMLHtmlElement.prototype = new HTMLElement(); -/** - * Property version - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHtmlElement.prototype.version=""; - -/** - * Object HTMLHeadElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHeadElement(){}; -HTMLHeadElement.prototype = new HTMLElement(); -/** - * Property profile - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHeadElement.prototype.profile=""; - -/** - * Object HTMLLinkElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLinkElement(){}; -HTMLLinkElement.prototype = new HTMLElement(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.disabled=false; -/** - * Property charset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.charset=""; -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.href=""; -/** - * Property hreflang - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.hreflang=""; -/** - * Property media - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.media=""; -/** - * Property rel - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.rel=""; -/** - * Property rev - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.rev=""; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.target=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.type=""; - -/** - * Object HTMLTitleElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTitleElement(){}; -HTMLTitleElement.prototype = new HTMLElement(); -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTitleElement.prototype.text=""; - -/** - * Object HTMLMetaElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLMetaElement(){}; -HTMLMetaElement.prototype = new HTMLElement(); -/** - * Property content - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.content=""; -/** - * Property httpEquiv - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.httpEquiv=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.name=""; -/** - * Property scheme - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.scheme=""; - -/** - * Object HTMLBaseElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBaseElement(){}; -HTMLBaseElement.prototype = new HTMLElement(); -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseElement.prototype.href=""; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseElement.prototype.target=""; - -/** - * Object HTMLIsIndexElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLIsIndexElement(){}; -HTMLIsIndexElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIsIndexElement.prototype.form=new HTMLFormElement(); -/** - * Property prompt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIsIndexElement.prototype.prompt=""; - -/** - * Object HTMLStyleElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLStyleElement(){}; -HTMLStyleElement.prototype = new HTMLElement(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLStyleElement.prototype.disabled=false; -/** - * Property media - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLStyleElement.prototype.media=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLStyleElement.prototype.type=""; - -/** - * Object HTMLBodyElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBodyElement(){}; -HTMLBodyElement.prototype = new HTMLElement(); -/** - * Property aLink - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.aLink=""; -/** - * Property background - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.background=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.bgColor=""; -/** - * Property link - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.link=""; -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.text=""; -/** - * Property vLink - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.vLink=""; - -/** - * Object HTMLFormElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFormElement(){}; -HTMLFormElement.prototype = new HTMLElement(); -/** - * Property elements - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.elements=new HTMLCollection(); -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.length=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.name=""; -/** - * Property acceptCharset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.acceptCharset=""; -/** - * Property action - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.action=""; -/** - * Property enctype - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.enctype=""; -/** - * Property method - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.method=""; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.target=""; -/** - * function submit() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.submit = function(){}; -/** - * function reset() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.reset = function(){}; - -/** - * Object HTMLSelectElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLSelectElement(){}; -HTMLSelectElement.prototype = new HTMLElement(); -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.type=""; -/** - * Property selectedIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.selectedIndex=0; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.value=""; -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.length=0; -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.form = new HTMLFormElement(); -/** - * Property options - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLOptionsCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.options= new HTMLOptionsCollection(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.disabled=false; -/** - * Property multiple - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.multiple=false; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.name=""; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.size=0; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.tabIndex=0; -/** - * function add(element, before) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {HTMLElement} element - * @param {HTMLElement} before - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.add = function(element, before){}; -/** - * function remove(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.remove = function(index){}; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.focus = function(){}; - -/** - * Object HTMLOptGroupElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLOptGroupElement(){}; -HTMLOptGroupElement.prototype = new HTMLElement(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptGroupElement.prototype.disabled=false; -/** - * Property label - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptGroupElement.prototype.label=""; - -/** - * Object Option() - * @constructor - * @param {String} text - * @param {String} value - * @param {Boolean} defaultSelected - * @param {Boolean} selected - */ -function Option(text, value, defaultSelected, selected){}; -Option.prototype = new HTMLOptionElement(); -/** - * Object HTMLOptionElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLOptionElement(){}; -HTMLOptionElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.form = new HTMLFormElement(); -/** - * Property defaultSelected - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.defaultSelected=false; -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.text=""; -/** - * Property index - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.index=0; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.disabled=false; -/** - * Property label - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.label=""; -/** - * Property selected - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.selected=false; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.value=""; - -/** - * Object HTMLInputElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLInputElement(){}; -HTMLInputElement.prototype = new HTMLElement(); -/** - * Property defaultValue - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.defaultValue=""; -/** - * Property defaultChecked - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.defaultChecked=false; -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.form = new HTMLFormElement(); -/** - * Property accept - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.accept=""; -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.accessKey=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.align=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.alt=""; -/** - * Property checked - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.checked=false; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.disabled=false; -/** - * Property masLength - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.maxLenght=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.name=""; -/** - * Property readOnly - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.readOnly=false; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.size=0; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.src=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.type=""; -/** - * Property useMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.useMap=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.value=""; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.focus = function(){}; -/** - * function select() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.select = function(){}; -/** - * function click() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.click = function(){}; - -/** - * Object HTMLTextAreaElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTextAreaElement(){}; -HTMLTextAreaElement.prototype = new HTMLElement(); -/** - * Property defaultValue - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.defaultValue=""; -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.form= new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.accessKey=""; -/** - * Property cols - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.cols=0; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.disabled=false; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.name=""; -/** - * Property readOnly - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.readOnly=false; -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.rows=0; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.value=""; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.focus = function(){}; -/** - * function select() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.select = function(){}; - -/** - * Object HTMLButtonElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLButtonElement(){}; -HTMLButtonElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.form = new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.accessKey = ""; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.disabled=false; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.name=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.value=""; - -/** - * Object HTMLLabelElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLabelElement(){}; -HTMLLabelElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLabelElement.prototype.form = new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLabelElement.prototype.accessKey=""; -/** - * Property htmlFor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLabelElement.prototype.htmlFor=""; - -/** - * Object HTMLFieldSetElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFieldSetElement(){}; -HTMLFieldSetElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFieldSetElement.prototype.form = new HTMLFormElement(); - -/** - * Object HTMLLegendElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLegendElement(){}; -HTMLLegendElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLegendElement.prototype.form = new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLegendElement.prototype.accessKey=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLegendElement.prototype.align=""; - -/** - * Object HTMLUListElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLUListElement(){}; -HTMLUListElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLUListElement.prototype.compact=false; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLUListElement.prototype.type=""; - -/** - * Object HTMLOListElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLOListElement(){}; -HTMLOListElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOListElement.prototype.compact=false; -/** - * Property start - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOListElement.prototype.start=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOListElement.prototype.type=""; - -/** - * Object HTMLDListElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLDListElement(){}; -HTMLDListElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDListElement.prototype.compact=false; - -/** - * Object HTMLDirectoryElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLDirectoryElement(){}; -HTMLDirectoryElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDirectoryElement.prototype.compact=false; - -/** - * Object HTMLMenuElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLMenuElement(){}; -HTMLMenuElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMenuElement.prototype.compact=false; - -/** - * Object HTMLLIElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLIElement(){}; -HTMLLIElement.prototype = new HTMLElement(); -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLIElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLIElement.prototype.value=0; - -/** - * Object HTMLDivElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLDivElement(){}; -HTMLDivElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDivElement.prototype.align=""; - -/** - * Object HTMLParagraphElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLParagraphElement(){}; -HTMLParagraphElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParagraphElement.prototype.align=""; - -/** - * Object HTMLHeadingElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHeadingElement(){}; -HTMLHeadingElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHeadingElement.prototype.align=""; - -/** - * Object HTMLQuoteElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLQuoteElement(){}; -HTMLQuoteElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLQuoteElement.prototype.align=""; - -/** - * Object HTMLPreElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLPreElement(){}; -HTMLPreElement.prototype = new HTMLElement(); -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLPreElement.prototype.width=0; - -/** - * Object HTMLBRElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBRElement(){}; -HTMLBRElement.prototype = new HTMLElement(); -/** - * Property clear - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBRElement.prototype.clear=""; - -/** - * Object HTMLBaseFontElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBaseFontElement(){}; -HTMLBaseFontElement.prototype = new HTMLElement(); -/** - * Property color - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseFontElement.prototype.color=""; -/** - * Property face - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseFontElement.prototype.face=""; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseFontElement.prototype.size=0; - -/** - * Object HTMLBaseFontElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFontElement(){}; -HTMLFontElement.prototype = new HTMLElement(); -/** - * Property color - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFontElement.prototype.color=""; -/** - * Property face - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFontElement.prototype.face=""; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFontElement.prototype.size=0; - -/** - * Object HTMLHRElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHRElement(){}; -HTMLHRElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.align=""; -/** - * Property noShade - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.noShade=false; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.size=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.width=""; - -/** - * Object HTMLModElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLModElement(){}; -HTMLModElement.prototype = new HTMLElement(); -/** - * Property cite - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLModElement.prototype.cite=""; -/** - * Property dateTime - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLModElement.prototype.dateTime=""; - -/** - * Object HTMLAnchorElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLAnchorElement(){}; -HTMLAnchorElement.prototype = new HTMLElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.accessKey=""; -/** - * Property charset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.charset=""; -/** - * Property coords - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.coords=""; -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.href=""; -/** - * Property hreflang - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.hreflang=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.name=""; -/** - * Property rel - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.rel=""; -/** - * Property rev - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.rev=""; -/** - * Property shape - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.shape=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.tabIndex=0; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.target=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.type=""; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.focus = function(){}; - -/** - * Object Image() - * @constructor - * @param {Number} width - * @param {Number} height - */ -function Image(width, height){}; -Image.prototype = new HTMLImageElement(); -/** - * Object HTMLImageElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLImageElement(){}; -HTMLImageElement.prototype = new HTMLElement(); -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.name=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.align=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.alt=""; -/** - * Property border - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.border=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.height=0; -/** - * Property hspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.hspace=0; -/** - * Property isMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.isMap=false; -/** - * Property longDesc - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.longDesc=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.src=""; -/** - * Property useMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.useMap=""; -/** - * Property vspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.vspace=0; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.width=0; - -/** - * Object HTMLObjectElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLObjectElement(){}; -HTMLObjectElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.form = new HTMLFormElement(); -/** - * Property code - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.code=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.align=""; -/** - * Property archive - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.archive=""; -/** - * Property border - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.border=""; -/** - * Property codeBase - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.codeBase=""; -/** - * Property codeType - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.codeType=""; -/** - * Property data - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.data=""; -/** - * Property declare - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.declare=false; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.height=""; -/** - * Property hspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.hspace=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.name=""; -/** - * Property standby - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.standby=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.type=""; -/** - * Property useMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.useMap=""; -/** - * Property vspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.vspace=0; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.width=""; -/** - * Property contentDocument - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.contentDocument= new HTMLDocument(); - -/** - * Object HTMLParamElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLParamElement(){}; -HTMLParamElement.prototype = new HTMLElement(); -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.name=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.value=""; -/** - * Property valueType - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.valueType=""; - -/** - * Object HTMLAppletElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLAppletElement(){}; -HTMLAppletElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.align=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.alt=""; -/** - * Property archive - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.archive=""; -/** - * Property code - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.code=""; -/** - * Property codeBase - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.codeBase=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.hight=""; -/** - * Property hspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.hspace=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.name=""; -/** - * Property object - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.object=""; -/** - * Property vspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.vspace=0; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.width=""; - -/** - * Object HTMLMapElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLMapElement(){}; -HTMLMapElement.prototype = new HTMLElement(); -/** - * Property areas - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMapElement.prototype.areas = new HTMLCollection(); -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMapElement.prototype.name=""; - -/** - * Object HTMLAreaElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLAreaElement(){}; -HTMLAreaElement.prototype = new HTMLElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.accessKey=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.alt=""; -/** - * Property coords - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.coords=""; -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.href=""; -/** - * Property noHref - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.noHref=false; -/** - * Property shape - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.shape=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.tabIndex=0; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.target=""; - -/** - * Object HTMLScriptElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLScriptElement(){}; -HTMLScriptElement.prototype = new HTMLElement(); -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.text=""; -/** - * Property htmlFor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.htmlFor=""; -/** - * Property event - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.event=""; -/** - * Property charset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.charset=""; -/** - * Property defer - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.defer=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.src=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.type=""; - -/** - * Object HTMLTableElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableElement(){}; -HTMLTableElement.prototype = new HTMLElement(); -/** - * Property caption - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLTableCaptionElement - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.caption = new HTMLTableCaptionElement(); -/** - * Property tHead - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLTableSectionElement - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.tHead = new HTMLTableSelectionElement(); -/** - * Property tFoot - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLTableSectionElement - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.tFoot = new HTMLTableSelectionElement(); -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.rows = new HTMLCollection(); -/** - * Property tBodies - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.tBodies = new HTMLCollection(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.align=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.bgColor=""; -/** - * Property border - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.border=""; -/** - * Property cellPadding - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.cellPadding=""; -/** - * Property cellSpacing - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.cellSpacing=""; -/** - * Property frame - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.frame=""; -/** - * Property rules - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.rules=""; -/** - * Property summary - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.summary=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.width=""; -/** - * function createTHead(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @returns {HTMLElement} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.createTHead = function(){return new HTMLElement();}; -/** - * function deleteTHead(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteTHead = function(){}; -/** - * function createTFoot(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @returns {HTMLElement} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.createTFoot = function(){return new HTMLElement();}; -/** - * function deleteTFoot(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteTFoot = function(){}; -/** - * function createCaption(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @returns {HTMLElement} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.createCaption = function(){return new HTMLElement();}; -/** - * function deleteCaption(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteCaption = function(){}; -/** - * function insertRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {HTMLElement} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.insertRow = function(index){return new HTMLElement();}; -/** - * function deleteRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteRow = function(index){}; - -/** - * Object HTMLTableCaptionElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableCaptionElement(){}; -HTMLTableCaptionElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCaptionElement.prototype.align=""; - -/** - * Object HTMLTableColElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableColElement(){}; -HTMLTableColElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.align=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.chOff=""; -/** - * Property span - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.span=0; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.vAlign=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.width=""; - -/** - * Object HTMLTableSelectionElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableSelectionElement(){}; -HTMLTableSelectionElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.align=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.chOff=""; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.vAlign=""; -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.rows=""; -/** - * function insertRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {HTMLElement} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.insertRow = function(index){return new HTMLElement();}; -/** - * function deleteRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.deleteRow = function(index){}; - -/** - * Object HTMLTableRowElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableRowElement(){}; -HTMLTableRowElement.prototype = new HTMLElement(); -/** - * Property rowIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.rowIndex=0; -/** - * Property sectionRowIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.sectionRowIndex=0; -/** - * Property cells - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.cells = new HTMLCollection(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.align=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.bgColor=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.chOff=""; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.vAlign=""; -/** - * function insertCell(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {HTMLElement} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.insertCell = function(index){return new HTMLElement();}; -/** - * function insertCell(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.deleteCell = function(index){}; - -/** - * Object HTMLTableRowElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableCellElement(){}; -HTMLTableCellElement.prototype = new HTMLElement(); -/** - * Property cellIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.cellIndex=0; -/** - * Property abbr - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.abbr=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.align=""; -/** - * Property axis - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.axis=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.bgColor=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.chOff=""; -/** - * Property colSpan - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.colSpan=0; -/** - * Property headers - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.headers=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.height=""; -/** - * Property noWrap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.noWrap=false; -/** - * Property rowSpan - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.rowSpan=0; -/** - * Property scope - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.scope=""; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.vAlign=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.width=""; - -/** - * Object HTMLFrameSetElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFrameSetElement(){}; -HTMLFrameSetElement.prototype = new HTMLElement(); -/** - * Property cols - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameSetElement.prototype.cols=""; -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameSetElement.prototype.rows=""; - -/** - * Object HTMLFrameElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFrameElement(){}; -HTMLFrameElement.prototype = new HTMLElement(); -/** - * Property frameBorder - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.frameBorder=""; -/** - * Property longDesc - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.longDesc=""; -/** - * Property marginHeight - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.marginHeight=""; -/** - * Property marginWidth - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.marginWidth=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.name=""; -/** - * Property noResize - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.noResize=false; -/** - * Property scrolling - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.scrolling=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.src=""; -/** - * Property contentDocument - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.contentDocument= new HTMLDocument(); - -/** - * Object HTMLIFrameElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLIFrameElement(){}; -HTMLIFrameElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.align=""; -/** - * Property frameBorder - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.frameBorder=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.height=""; -/** - * Property longDesc - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.longDesc=""; -/** - * Property marginHeight - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.marginHeight=""; -/** - * Property marginWidth - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.marginWidth=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.name=""; -/** - * Property scrolling - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.scrolling=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.src=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.width=""; -/** - * Property contentDocument - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.contentDocument= new HTMLDocument(); - -/* Stylesheets */ -/** - * Object CSS2Properties() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Style Specification. - */ -function CSS2Properties(){}; -CSS2Properties.prototype = new Object(); \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js deleted file mode 100644 index 4342f17..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/browserWindow.js +++ /dev/null @@ -1,561 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ -function BarProp(){}; -BarProp.prototype = new Array(); - -/** - * Object Window() - * @super Global - * @constructor - * @since Common Usage, no standard -*/ -function Window(){}; -Window.prototype = new Global(); -Window.prototype.self = new Window(); -Window.prototype.window = new Window(); -Window.prototype.frames = new Array(); -/** - * Property closed - * @type Boolean - * @memberOf Window - */ -Window.prototype.closed = new Boolean(); -/** - * Property defaultStatus - * @type String - * @memberOf Window - */ -Window.prototype.defaultStatus = ""; -/** - * Property document - * @type Document - * @memberOf Window - */ -Window.prototype.document= new HTMLDocument(); -/** - * Property history - * @type History - * @memberOf Window - */ -Window.prototype.history= new History(); -/** - * Property location - * @type Location - * @memberOf Window - */ -Window.prototype.location=new Location(); -/** - * Property name - * @type String - * @memberOf Window - */ -Window.prototype.name = ""; -/** - * Property navigator - * @type Navigator - * @memberOf Window - */ -Window.prototype.navigator = new Navigator(); -/** - * Property opener - * @type Window - * @memberOf Window - */ -Window.prototype.opener = new Window(); -/** - * Property outerWidth - * @type Number - * @memberOf Window - */ -Window.prototype.outerWidth = 0; -/** - * Property outerHeight - * @type Number - * @memberOf Window - */ -Window.prototype.outerHeight = 0; -/** - * Property pageXOffset - * @type Number - * @memberOf Window - */ -Window.prototype.pageXOffset = 0; -/** - * Property pageYOffset - * @type Number - * @memberOf Window - */ -Window.prototype.pageYOffset = 0; -/** - * Property parent - * @type Window - * @memberOf Window - */ -Window.prototype.parent = new Window(); -/** - * Property screen - * @type Screen - * @memberOf Window - */ -Window.prototype.screen = new Screen(); -/** - * Property status - * @type String - * @memberOf Window - */ -Window.prototype.status = ""; -/** - * Property top - * @type Window - * @memberOf Window - */ -Window.prototype.top = new Window(); - - -/* - * These properties may need to be moved into a browswer specific library. - */ - - /** - * Property innerWidth - * @type Number - * @memberOf Window - */ -Window.prototype.innerWidth = 0; -/** - * Property innerHeight - * @type Number - * @memberOf Window - */ -Window.prototype.innerHeight = 0; -/** - * Property screenX - * @type Number - * @memberOf Window - */ -Window.prototype.screenX = 0; -/** - * Property screenY - * @type Number - * @memberOf Window - */ -Window.prototype.screenY = 0; -/** - * Property screenLeft - * @type Number - * @memberOf Window - */ -Window.prototype.screenLeft = 0; -/** - * Property screenTop - * @type Number - * @memberOf Window - */ -Window.prototype.screenTop = 0; -//Window.prototype.event = new Event(); -Window.prototype.length = 0; -Window.prototype.scrollbars= new BarProp(); -Window.prototype.scrollX=0; -Window.prototype.scrollY=0; -Window.prototype.content= new Window(); -Window.prototype.menubar= new BarProp(); -Window.prototype.toolbar= new BarProp(); -Window.prototype.locationbar= new BarProp(); -Window.prototype.personalbar= new BarProp(); -Window.prototype.statusbar= new BarProp(); -Window.prototype.directories= new BarProp(); -Window.prototype.scrollMaxX=0; -Window.prototype.scrollMaxY=0; -Window.prototype.fullScreen=""; -Window.prototype.frameElement=""; -Window.prototype.sessionStorage=""; -/* End properites */ - -/** - * function alert() - * @param {String} arg - * @memberOf Window - */ -Window.prototype.alert = function(arg){}; -/** - * function blur() - * @memberOf Window - */ -Window.prototype.blur = function(){}; -/** - * function clearInterval(arg) - * @param arg - * @memberOf Window - */ -Window.prototype.clearInterval = function(arg){}; -/** - * function clearTimeout(arg) - * @param arg - * @memberOf Window - */ -Window.prototype.clearTimeout = function(arg){}; -/** - * function close() - * @memberOf Window - */ -Window.prototype.close = function(){}; -/** - * function confirm() - * @param {String} arg - * @memberOf Window - * @returns {Boolean} - */ -Window.prototype.confirm = function(arg){return false;}; -/** - * function focus() - * @memberOf Window - */ -Window.prototype.focus = function(){}; -/** - * function getComputedStyle(arg1, arg2) - * @param {Element} arg1 - * @param {String} arg2 - * @memberOf Window - * @returns {Object} - */ -Window.prototype.getComputedStyle = function(arg1,arg2){return new Object();}; -/** - * function moveTo(arg1, arg2) - * @param {Number} arg1 - * @param {Number} arg2 - * @memberOf Window - */ -Window.prototype.moveTo = function(arg1,arg2){}; -/** - * function moveBy(arg1, arg2) - * @param {Number} arg1 - * @param {Number} arg2 - * @memberOf Window - */ -Window.prototype.moveBy = function(arg1,arg2){}; -/** - * function open(optionalArg1, optionalArg2, optionalArg3, optionalArg4) - * @param {String} optionalArg1 - * @param {String} optionalArg2 - * @param {String} optionalArg3 - * @param {Boolean} optionalArg4 - * @memberOf Window - * @returns {Window} - */ -Window.prototype.open = function(optionalArg1, optionalArg2, optionalArg3, optionalArg4){return new Window();}; -/** - * function print() - * @memberOf Window - */ -Window.prototype.print = function(){}; -/** - * function prompt(arg1, arg2) - * @param {String} arg1 - * @param {String} arg2 - * @memberOf Window - * @returns {String} - */ -Window.prototype.prompt = function(){return "";}; -/** - * function resizeTo(arg1, arg2) - * @param {Number} arg1 - * @param {Number} arg2 - * @memberOf Window - */ -Window.prototype.resizeTo=function(arg1,arg2){}; -/** - * function resizeBy(arg1, arg2) - * @param {Number} arg1 - * @param {Number} arg2 - * @memberOf Window - */ -Window.prototype.resizeBy=function(arg1,arg2){}; -/** - * function scrollTo(arg1, arg2) - * @param {Number} arg1 - * @param {Number} arg2 - * @memberOf Window - */ -Window.prototype.scrollTo=function(arg1,arg2){}; -/** - * function scrollBy(arg1, arg2) - * @param {Number} arg1 - * @param {Number} arg2 - * @memberOf Window - */ -Window.prototype.scrollBy=function(arg1,arg2){}; -/** - * function setInterval(arg1, arg2) - * @param {Object} arg1 - * @param {Number} arg2 - * @memberOf Window - * @returns {Number} - */ -Window.prototype.setInterval=function(arg1, arg2){return 0;}; -/** - * function setTimeout(arg1, arg2) - * @param {Object} arg1 - * @param {Number} arg2 - * @memberOf Window - * @returns {Number} - */ -Window.prototype.setTimeout=function(arg1, arg2){ return 0;}; -/** - * function atob(arg) - * @param {String} arg - * @memberOf Window - * @returns {String} - */ -Window.prototype.atob=function(arg){return "";}; -/** - * function btoa(arg) - * @param {String} arg - * @memberOf Window - * @returns {String} - */ -Window.prototype.btoa=function(arg){return "";}; -/** - * function setResizable(arg) - * @param {Boolean} arg - * @memberOf Window - */ -Window.prototype.setResizable=function(arg){}; - -Window.prototype.captureEvents=function(arg1){}; -Window.prototype.releaseEvents=function(arg1){}; -Window.prototype.routeEvent=function(arg1){}; -Window.prototype.enableExternalCapture=function(){}; -Window.prototype.disableExternalCapture=function(){}; -Window.prototype.find=function(){}; -Window.prototype.back=function(){}; -Window.prototype.forward=function(){}; -Window.prototype.home=function(){}; -Window.prototype.stop=function(){}; -Window.prototype.scroll=function(arg1,arg2){}; - -/* - * These functions may need to be moved into a browser specific library. - */ -Window.prototype.dispatchEvent=function(arg1){}; -Window.prototype.removeEventListener=function(arg1,arg2,arg3){}; -/* End functions */ - -/** - * Object History() - * @super Object - * @constructor - * @since Common Usage, no standard - */ -function History(){}; -History.prototype=new Object(); -History.prototype.history = new History(); -/** - * Property length - * @type Number - * @memberOf History - */ -History.prototype.length = 0; -/** - * function back() - * @memberOf History - */ -History.prototype.back = function(){}; -/** - * function forward() - * @memberOf History - */ -History.prototype.forward = function(){}; -/** - * function back() - * @param arg - * @memberOf History - */ -History.prototype.go = function(arg){}; - -/** - * Object Location() - * @super Object - * @constructor - * @since Common Usage, no standard - */ -function Location(){}; -Location.prototype = new Object(); -Location.prototype.location = new Location(); -/** - * Property hash - * @type String - * @memberOf Location - */ -Location.prototype.hash = ""; -/** - * Property host - * @type String - * @memberOf Location - */ -Location.prototype.host = ""; -/** - * Property hostname - * @type String - * @memberOf Location - */ -Location.prototype.hostname = ""; -/** - * Property href - * @type String - * @memberOf Location - */ -Location.prototype.href = ""; -/** - * Property pathname - * @type String - * @memberOf Location - */ -Location.prototype.pathname = ""; -/** - * Property port - * @type String - * @memberOf Location - */ -Location.prototype.port = ""; -/** - * Property protocol - * @type String - * @memberOf Location - */ -Location.prototype.protocol = ""; -/** - * Property search - * @type String - * @memberOf Location - */ -Location.prototype.search = ""; -/** - * function assign(arg) - * @param {String} arg - * @memberOf Location - */ -Location.prototype.assign = function(arg){}; -/** - * function reload(optionalArg) - * @param {Boolean} optionalArg - * @memberOf Location - */ -Location.prototype.reload = function(optionalArg){}; -/** - * function replace(arg) - * @param {String} arg - * @memberOf Location - */ -Location.prototype.replace = function(arg){}; - -/** - * Object Navigator() - * @super Object - * @constructor - * @since Common Usage, no standard -*/ -function Navigator(){}; -Navigator.prototype = new Object(); -Navigator.prototype.navigator = new Navigator(); -/** - * Property appCodeName - * @type String - * @memberOf Navigator - */ -Navigator.prototype.appCodeName = ""; -/** - * Property appName - * @type String - * @memberOf Navigator - */ -Navigator.prototype.appName = ""; -/** - * Property appVersion - * @type String - * @memberOf Navigator - */ -Navigator.prototype.appVersion = ""; -/** - * Property cookieEnabled - * @type Boolean - * @memberOf Navigator - */ -Navigator.prototype.cookieEnabled = new Boolean(); -/** - * Property mimeTypes - * @type Array - * @memberOf Navigator - */ -Navigator.prototype.mimeTypes = new Array(); -/** - * Property platform - * @type String - * @memberOf Navigator - */ -Navigator.prototype.platform = ""; -/** - * Property plugins - * @type Array - * @memberOf Navigator - */ -Navigator.prototype.plugins = new Array(); -/** - * Property userAgent - * @type String - * @memberOf Navigator - */ -Navigator.prototype.userAgent = ""; -/** - * function javaEnabled() - * @returns {Boolean} - * @memberOf Navigator - */ -Navigator.prototype.javaEnabled = function(){return false;}; - -/** - * Object Screen() - * @super Object - * @constructor - * @since Common Usage, no standard -*/ -function Screen(){}; -Screen.prototype = new Object(); -Screen.prototype.screen = new Screen(); -/** - * Property availHeight - * @type Number - * @memberOf Screen - */ -Navigator.prototype.availHeight = 0; -/** - * Property availWidth - * @type Number - * @memberOf Screen - */ -Navigator.prototype.availWidth = 0; -/** - * Property colorDepth - * @type Number - * @memberOf Screen - */ -Navigator.prototype.colorDepth = 0; -/** - * Property height - * @type Number - * @memberOf Screen - */ -Navigator.prototype.height = 0; -/** - * Property width - * @type Number - * @memberOf Screen - */ -Navigator.prototype.width = 0; \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js deleted file mode 100644 index aad16dc..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/dom5.js +++ /dev/null @@ -1,5393 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - *******************************************************************************/ - -/** - * Object DOMException() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function DOMException(){}; -DOMException.prototype = new Object(); -/** - * Constant DOMException.INDEX_SIZE_ERR=1 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INDEX_SIZE_ERR=1; -/** - * Constant DOMException.DOMSTRING_SIZE_ERR=2 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.DOMSTRING_SIZE_ERR=2; -/** - * Constant DOMException.HIERARCHY_REQUEST_ERR=3 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.HIERARCHY_REQUEST_ERR=3; -/** - * Constant DOMException.WRONG_DOCUMENT_ERR=4 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.WRONG_DOCUMENT_ERR=4; -/** - * Constant DOMException.INVALID_CHARACTER_ERR=5 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_CHARACTER_ERR=5; -/** - * Constant DOMException.NO_DATA_ALLOWED_ER=6 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NO_DATA_ALLOWED_ER=6; -/** - * Constant DOMException.NO_MODIFICATION_ALLOWED_ERR=7 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NO_MODIFICATION_ALLOWED_ERR=7; -/** - * Constant DOMException.NOT_FOUND_ERR=8 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NOT_FOUND_ERR=8; -/** - * Constant DOMException.NOT_SUPPORTED_ERR=9 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NOT_SUPPORTED_ERR=9; -/** - * Constant DOMException.INUSE_ATTRIBUTE_ERR=10 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INUSE_ATTRIBUTE_ERR=10; -/** - * Constant DOMException.INVALID_STATE_ERR=11 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_STATE_ERR=11; -/** - * Constant DOMException.SYNTAX_ERR=12 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.SYNTAX_ERR=12; -/** - * Constant DOMException.INVALID_MODIFICATION_ER=13 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_MODIFICATION_ER=13; -/** - * Constant DOMException.NAMESPACE_ERR=14 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.NAMESPACE_ERR=14; -/** - * Constant DOMException.NVALID_ACCESS_ERR=15 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.INVALID_ACCESS_ERR=15; -/** - * Property code - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMException.prototype.code=0; - -/** - * Object DOMImplementation() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function DOMImplementation(){}; -DOMImplementation.prototype = new Object(); -/** - * function hasFeature(feature, version) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} feature - * @param {String} version - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DOMImplementation.prototype.hasFeature = function(feature, version){return false;}; -/** - * function createDocumentType(qualifiedName, publicId, systemId) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} qualifiedName - * @param {String} publicId - * @param {String} systemId - * @returns {DocumentType} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DocumentType - */ -DOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId){return new DocumentType();}; -/** - * function createDocument(namespaceURI, qualifiedName, doctype) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @param {DocumentType} doctype - * @returns {Document} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Document - */ -DOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype){return new HTMLDocument();}; - -/** - * Object DocumentFragment() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function DocumentFragment(){}; -DocumentFragment.prototype=new Node(); - -/** - * Object Document() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Document(){}; -Document.prototype = new Node(); -/** - * Property defaultView - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Window - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Window - */ -Document.prototype.defaultView = new Window(); -/** - * Property doctype - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type DocumentType - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DocumentType - */ -Document.prototype.doctype = new DocumentType(); -/** - * Property implementation - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type DOMImplementation - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DOMImplementation - */ -Document.prototype.implementation = new DOMImplementation(); -/** - * Property documentElement - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Element - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.documentElement= new HTMLElement(); -/** - * Property styleSheets - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Document.prototype.styleSheets= new Array(); -/** - * function createElement(tagName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} tagName - * @returns {Element} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.createElement=function(tagName){return new HTMLElement();}; -/** - * function createDocumentFragment() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @returns {DocumentFragment} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see DocumentFragment - */ -Document.prototype.createDocumentFragment=function(){return new DocumentFragment();}; -/** - * function createTextNode(data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} data - * @returns {Text} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Text - */ -Document.prototype.createTextNode=function(data){return new Text();}; -/** - * function createComment(data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} data - * @returns {Comment} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Comment - */ -Document.prototype.createComment=function(data){return new Comment();}; -/** - * function createCDATASection(data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} data - * @returns {CDATASection} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see CDATASection - */ -Document.prototype.createCDATASection=function(data){}; -/** - * function createProcessingInstruction(target, data) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type ProcessingInstruction - * @param {String} target - * @param {String} data - * @returns {ProcessingInstruction} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see ProcessingInstruction -*/ -Document.prototype.createProcessingInstruction=function(target, data){return new ProcessingInstruction();}; -/** - * function createAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Attr - */ -Document.prototype.createAttribute=function(name){return new Attr();}; -/** - * function createEntityReference(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {EntityReference} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see EntityReference - */ -Document.prototype.createEntityReference=function(name){return new EntityReference();}; -/** - * function getElementsByTagName(tagname) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} tagname - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NodeList - */ -Document.prototype.getElementsByTagName=function(tagname){return new NodeList();}; -/** - * function importNode(importedNode, deep) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} importedNode - * @param {Boolean} deep - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Document.prototype.importNode=function(importedNode, deep){return new Node();}; -/** - * function createElementNS(namespaceURI, qualifiedName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @returns {Element} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.createElementNS=function(namespaceURI, qualifiedName){return new HTMLElement();}; -/** - * function createEvent(String eventType) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} eventType - * @returns {Object} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.createEvent=function(eventType){return new Object();}; -/** - * function createAttributeNS(namespaceURI, qualifiedName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Attr - */ -Document.prototype.createAttributeNS=function(namespaceURI, qualifiedName){return new Attr();}; -/** - * function getElementsByTagNameNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NodeList - */ -Document.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; -/** - * function getElementById(elementId) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} elementId - * @returns {Element} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Document.prototype.getElementById=function(elementId){return new HTMLElement();}; - -/** - * Object Node() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @memberOf Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function Node(){}; -Node.prototype=new Object(); -/** - * Constant Node.ELEMENT_NODE=1 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.ELEMENT_NODE=1; -/** - * Constant Node.ATTRIBUTE_NODE=2 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.ATTRIBUTE_NODE=2; -/** - * Constant Node.TEXT_NODE=3 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.TEXT_NODE=3; -/** - * Constant Node.CDATA_SECTION_NODE=4 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.CDATA_SECTION_NODE=4; -/** - * Constant Node.ENTITY_REFERENCE_NODE=5 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.ENTITY_REFERENCE_NODE=5; -/** - * Constant Node.ENTITY_NODE=6 - * @type Number - * @memberOf Node - * @see Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - - * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html -*/ -Node.ENTITY_NODE=6; -/** - * Constant Node.PROCESSING_INSTRUCTION_NODE=7 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.PROCESSING_INSTRUCTION_NODE=7; -/** - * Constant Node.COMMENT_NODE=8 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.COMMENT_NODE=8; -/** - * Constant Node.DOCUMENT_NODE=9 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.DOCUMENT_NODE=9; -/** - * Constant Node.DOCUMENT_TYPE_NODE=10 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.DOCUMENT_TYPE_NODE=10; -/** - * Constant Node.DOCUMENT_FRAGMENT_NODE=11 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.DOCUMENT_FRAGMENT_NODE=11; -/** - * Constant Node.NOTATION_NODE=12 - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @constant - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.NOTATION_NODE=12; -/** - * Property nodeName - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.nodeName = ""; -/** - * Property nodeValue - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.nodeValue = ""; -/** - * Property nodeType - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.nodeType = 0; -/** - * Property parentNode - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.parentNode=new Node(); -/** - * Property childNodes - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NodeList - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NodeList -*/ -Node.prototype.childNodes=new NodeList(); -/** - * Property firstChild - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.firstChild=new Node(); -/** - * Property lastChild - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.lastChild=new Node(); -/** - * Property previousSibling - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.previousSibling=new Node(); -/** - * Property nextSibling - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Node - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.nextSibling=new Node(); -/** - * Property attributes - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NamedNodeMap - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see NamedNodeMap - */ -Node.prototype.attributes=new NamedNodeMap(); -/** - * Property ownerDocument - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Document - */ -Node.prototype.ownerDocument = new HTMLDocument(); -/** - * Property namespaceURI - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.namespaceURI=""; -/** - * Property prefix - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.prefix = ""; -/** - * Property localName - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.localName= ""; -/** - * function insertBefore(newChild, refChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} newChild - * @param {Node} refChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.insertBefore = function(newChild, refChild){return new Node();}; -/** - * function replaceChild(newChild, oldChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} newChild - * @param {Node} oldChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.replaceChild = function(newChild, oldChild){return new Node();}; -/** - * function removeChild(oldChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} oldChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.removeChild = function(oldChild){return new Node();}; -/** - * function appendChild(newChild) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} newChild - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.appendChild = function(newChild){return new Node();}; -/** - * function hasChildNodes() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.hasChildNodes=function(){return false;}; -/** - * function cloneNode(deep) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Boolean} deep - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -Node.prototype.cloneNode=function(deep){return new Node();}; -/** - * function normalize() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.normalize = function(){}; -/** - * function isSupported(feature, version) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} feature - * @param {String} version - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.isSupported=function(feature, version){return false;}; -/** - * function hasAttributes() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Node.prototype.hasAttributes=function(){return false;}; - -/** - * Object NodeList() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function NodeList(){}; -NodeList.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -NodeList.prototype.length=0; -/** - * function item(index) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node -*/ -NodeList.prototype.item = function(index){return new Node();}; - -/** - * Object NamedNodeMap() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Object - */ -function NamedNodeMap(){}; -NamedNodeMap.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -NamedNodeMap.prototype.length=0; -/** - * function getNamedItem(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.getNamedItem=function(name){return new Node();}; -/** - * function setNamedItem(arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} arg - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.setNamedItem=function(arg){return new Node();}; -/** - * function removeNamedItem(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.removeNamedItem=function(name){return new Node();}; -/** - * function item(index) - * Note: This object can also be dereferenced using square bracket notation (e.g. obj[1]). Dereferencing with an integer index is equivalent to invoking the item method with that index. - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.item=function(index){return new Node();}; -/** - * function getNamedItemNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.getNamedItemNS=function(namespaceURI, localName){return new Node();}; -/** - * function setNamedItemNS(arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Node} arg - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.setNamedItemNS=function(arg){return new Node();}; -/** - * function removeNamedItemNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Node} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -NamedNodeMap.prototype.removeNamedItemNS=function(namespaceURI, localName){return new Node();}; - -/** - * Object CharacterData() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function CharacterData(){}; -CharacterData.prototype=new Node(); -/** - * Property data - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.data=""; -/** - * Property length - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.length=0; -/** - * function substringData(offset, count) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {Number} count - * @returns {String} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.substringData=function(offset, count){return "";}; -/** - * function appendData(arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} arg - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.appendData=function(arg){}; -/** - * function insertData(offset, arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {String} arg - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.insertData=function(offset, arg){}; -/** - * function deleteData(offset, count) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {Number} count - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.deleteData=function(offset, count){}; -/** - * function replaceData(offset, count, arg) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @param {Number} count - * @param {String} arg - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -CharacterData.prototype.replaceData=function(offset, count, arg){}; - -/** - * Object Attr() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Attr(){}; -Attr.prototype = new Node(); -/** - * Property name - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Attr.prototype.name = ""; -/** - * Property specified - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Attr.prototype.specified = false; -/** - * Property value - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Attr.prototype.value = ""; -/** - * Property ownerElement - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type Element - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Element - */ -Attr.prototype.ownerElement = new Element(); - -/** - * Object Element() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Element(){}; -Element.prototype=new Node(); -/** - * Property tagName - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.tagName=""; -/** - * function addEventListener(Stirng type, Function listener, Boolean useCapture) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} type - * @param {Function} listener - * @param {Boolean} useCapture - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.addEventListener=function(type, listener, useCapture){}; -/** - * function attachEvent(String type, Function listener) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} type - * @param {Function} listener - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.attachEvent=function(type, listener){}; -/** - * function detachEvent(String type, Function listener) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} type - * @param {Function} listener - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.detachEvent=function(type, listener){}; -/** - * function dispatchEvent(Object event) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Object} event - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.dispatchEvent=function(event){return false;}; -/** - * function getAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttribute=function(name){return "";}; -/** - * function setAttribute(name, value) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @param {String} value - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttribute=function(name, value){}; -/** - * function removeAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.removeAttribute=function(name){}; -/** - * function getAttributeNode(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Attr} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttributeNode=function(name){return new Attr();}; -/** - * function setAttributeNode(newAttr) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Attr} newAttr - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttributeNode=function(newAttr){return new Attr();}; -/** - * function removeAttributeNode(oldAttr) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Attr} oldAttr - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.removeAttributeNode=function(oldAttr){return new Attr();}; -/** - * function getElementsByTagName(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getElementsByTagName=function(name){return new NodeList();}; -/** - * function getAttributeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {String} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttributeNS=function(namespaceURI, localName){return "";}; -/** - * function setAttributeNS(namespaceURI, qualifiedName, value) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} qualifiedName - * @param {String} value - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttributeNS=function(namespaceURI, qualifiedName, value){}; -/** - * function removeAttributeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.removeAttributeNS=function(namespaceURI, localName){}; -/** - * function getAttributeNodeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Attr} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getAttributeNodeNS=function(namespaceURI, localName){return new Attr();}; -/** - * function setAttributeNodeNS(newAttr) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Attr} newAttr - * @returns {Attr} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.setAttributeNodeNS=function(newAttr){return new Attr();}; -/** - * function getElementsByTagNameNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.getElementsByTagNameNS=function(namespaceURI, localName){return new NodeList();}; -/** - * function hasAttribute(name) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} name - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.hasAttribute=function(name){return false;}; -/** - * function hasAttributeNS(namespaceURI, localName) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {String} namespaceURI - * @param {String} localName - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Element.prototype.hasAttributeNS=function(namespaceURI, localName){return false;}; - -/** - * Object Text() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments CharacterData - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see CharacterData - */ -function Text(){}; -Text.prototype = new CharacterData(); -/** - * function splitText(offset) - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @param {Number} offset - * @returns {Text} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Text - */ -Text.prototype.splitText = function(offset) {return new Text();}; - -/** - * Object Comment() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments CharacterData - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see CharacterData - */ -function Comment(){}; -Comment.prototype = new CharacterData(); - -/** - * Object CDATASection() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Text - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Text - */ -function CDATASection(){}; -CDATASection.prototype = new Text(); - -/** - * Object DocumentType() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function DocumentType(){}; -DocumentType.prototype = new Node(); -/** - * Property name - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.name=""; -/** - * Property entities - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NamedNodeMap - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.entities = new NamedNodeMap(); -/** - * Property notations - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type NamedNodeMap - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.notations=new NamedNodeMap(); -/** - * Property publicId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.publicId=""; -/** - * Property systemId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.systemId=""; -/** - * Property internalSubset - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -DocumentType.prototype.internalSubset=""; - -/** - * Object Notation() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Notation(){}; -Notation.prototype=new Node(); -/** - * Property publicId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Notation.prototype.publicId=""; -/** - * Property systemId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Notation.prototype.systemId=""; - -/** - * Object Entity() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function Entity(){}; -Entity.prototype=new Node(); -/** - * Property publicId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Entity.prototype.publicId=""; -/** - * Property systemId - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Entity.prototype.systemId=""; -/** - * Property notationName - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Entity.prototype.notationName=""; - -/** - * Object EntityReference() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function EntityReference(){}; -EntityReference.prototype=new Node(); - -/** - * Object ProcessingInstruction() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @augments Node - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - * @see Node - */ -function ProcessingInstruction(){}; -ProcessingInstruction.prototype=new Node(); -/** - * Property target - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -ProcessingInstruction.prototype.target=""; -/** - * Property target - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -ProcessingInstruction.prototype.data=""; - - -/*HTML DOM Below this line*/ - -/** - * Object HTMLCollection() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -function HTMLCollection(){}; -HTMLCollection.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLCollection.prototype.length=0; -/** - * function item(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLCollection.prototype.item = function(index){return new Node();}; -/** - * function namedItem(name) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} name - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLCollection.prototype.namedItem = function(index){return new Node();}; - -/** - * Object HTMLOptionsCollection() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -function HTMLOptionsCollection(){}; -HTMLOptionsCollection.prototype = new Object(); -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionsCollection.prototype.length=0; -/** - * function item(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionsCollection.prototype.item = function(index){return new Node();}; -/** - * function namedItem(name) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} name - * @returns {Node} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionsCollection.prototype.namedItem = function(index){return new Node();}; - -/** - * Object HTMLDocument() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Document - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see Document - */ -function HTMLDocument(){}; -HTMLDocument.prototype = new Document(); -/** - * Property title - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.title=""; -/** - * Property referrer - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.referrer=""; -/** - * Property domain - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.domain=""; -/** - * Property URL - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.URL=""; -/** - * Property body - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.body=new HTMLElement(); -/** - * Property images - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.images=new HTMLCollection(); -/** - * Property applets - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.applets=new HTMLCollection(); -/** - * Property links - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.links=new HTMLCollection(); -/** - * Property forms - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.forms=new HTMLCollection(); -/** - * Property anchors - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.anchors=new HTMLCollection(); -/** - * Property cookie - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.cookie=""; -/** - * Property lastModified - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.lastModified=""; -/** - * function open() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.open = function(){}; -/** - * function close() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.close = function(){}; -/** - * function write(text) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} text - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.write = function(text){}; -/** - * function writeln(text) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} text - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.writeln = function(text){}; -/** - * function getElementsByName(elementName) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {String} elementName - * @returns {NodeList} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDocument.prototype.getElementsByName = function(elementName){return new NodeList();}; - -/** - * Object HTMLElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments Element - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see Element - */ -function HTMLElement(){}; -HTMLElement.prototype = new Element(); -/** - * Property id - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.id=""; -/** - * Property title - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.title=""; -/** - * Property lang - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.lang=""; -/** - * Property dir - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.dir=""; -/** - * Property className - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLElement.prototype.className=""; -/** - * Property innerHTML - * - * @type String - */ -HTMLElement.prototype.innerHTML=""; -/** - * Property offsetHeight - * - * @type Number - */ -HTMLElement.prototype.offsetHeight=0; -/** - * Property offsetWidth - * - * @type Number - */ -HTMLElement.prototype.offsetWidth=0; -/** - * Property offsetLeft - * - * @type Number - */ -HTMLElement.prototype.offsetLeft=0; -/** - * Property offsetTop - * - * @type Number - */ -HTMLElement.prototype.offsetTop=0; -/** - * Property offsetParent - * - * @type HTMLElement - */ -HTMLElement.prototype.offsetParent = new HTMLElement(); -/** - * Property scrollHeight - * - * @type Number - */ -HTMLElement.prototype.scrollHeight=0; -/** - * Property scrollWidth - * - * @type Number - */ -HTMLElement.prototype.scrollWidth=0; -/** - * Property scrollLeft - * - * @type Number - */ -HTMLElement.prototype.scrollLeft=0; -/** - * Property scrollTop - * - * @type Number - */ -HTMLElement.prototype.scrollTop=0; -/** - * Property style - * - * @type CSS2Properties - */ -HTMLElement.prototype.style = new CSS2Properties(); - -/** - * Object HTMLHtmlElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHtmlElement(){}; -HTMLHtmlElement.prototype = new HTMLElement(); -/** - * Property version - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHtmlElement.prototype.version=""; - -/** - * Object HTMLHeadElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHeadElement(){}; -HTMLHeadElement.prototype = new HTMLElement(); -/** - * Property profile - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHeadElement.prototype.profile=""; - -/** - * Object HTMLLinkElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLinkElement(){}; -HTMLLinkElement.prototype = new HTMLElement(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.disabled=false; -/** - * Property charset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.charset=""; -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.href=""; -/** - * Property hreflang - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.hreflang=""; -/** - * Property media - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.media=""; -/** - * Property rel - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.rel=""; -/** - * Property rev - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.rev=""; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.target=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLinkElement.prototype.type=""; - -/** - * Object HTMLTitleElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTitleElement(){}; -HTMLTitleElement.prototype = new HTMLElement(); -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTitleElement.prototype.text=""; - -/** - * Object HTMLMetaElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLMetaElement(){}; -HTMLMetaElement.prototype = new HTMLElement(); -/** - * Property content - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.content=""; -/** - * Property httpEquiv - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.httpEquiv=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.name=""; -/** - * Property scheme - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMetaElement.prototype.scheme=""; - -/** - * Object HTMLBaseElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBaseElement(){}; -HTMLBaseElement.prototype = new HTMLElement(); -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseElement.prototype.href=""; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseElement.prototype.target=""; - -/** - * Object HTMLIsIndexElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLIsIndexElement(){}; -HTMLIsIndexElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIsIndexElement.prototype.form=new HTMLFormElement(); -/** - * Property prompt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIsIndexElement.prototype.prompt=""; - -/** - * Object HTMLStyleElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLStyleElement(){}; -HTMLStyleElement.prototype = new HTMLElement(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLStyleElement.prototype.disabled=false; -/** - * Property media - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLStyleElement.prototype.media=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLStyleElement.prototype.type=""; - -/** - * Object HTMLBodyElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBodyElement(){}; -HTMLBodyElement.prototype = new HTMLElement(); -/** - * Property aLink - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.aLink=""; -/** - * Property background - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.background=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.bgColor=""; -/** - * Property link - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.link=""; -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.text=""; -/** - * Property vLink - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBodyElement.prototype.vLink=""; - -/** - * Object HTMLFormElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFormElement(){}; -HTMLFormElement.prototype = new HTMLElement(); -/** - * Property elements - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.elements=new HTMLCollection(); -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.length=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.name=""; -/** - * Property acceptCharset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.acceptCharset=""; -/** - * Property action - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.action=""; -/** - * Property enctype - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.enctype=""; -/** - * Property method - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.method=""; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.target=""; -/** - * function submit() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.submit = function(){}; -/** - * function reset() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFormElement.prototype.reset = function(){}; - -/** - * Object HTMLSelectElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLSelectElement(){}; -HTMLSelectElement.prototype = new HTMLElement(); -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.type=""; -/** - * Property selectedIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.selectedIndex=0; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.value=""; -/** - * Property length - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.length=0; -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.form = new HTMLFormElement(); -/** - * Property options - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLOptionsCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.options= new HTMLOptionsCollection(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.disabled=false; -/** - * Property multiple - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.multiple=false; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.name=""; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.size=0; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.tabIndex=0; -/** - * function add(element, before) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {HTMLElement} element - * @param {HTMLElement} before - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.add = function(element, before){}; -/** - * function remove(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.remove = function(index){}; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLSelectElement.prototype.focus = function(){}; - -/** - * Object HTMLOptGroupElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLOptGroupElement(){}; -HTMLOptGroupElement.prototype = new HTMLElement(); -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptGroupElement.prototype.disabled=false; -/** - * Property label - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptGroupElement.prototype.label=""; - -/** - * Object Option() - * @constructor - * @param {String} text - * @param {String} value - * @param {Boolean} defaultSelected - * @param {Boolean} selected - */ -function Option(text, value, defaultSelected, selected){}; -Option.prototype = new HTMLOptionElement(); -/** - * Object HTMLOptionElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLOptionElement(){}; -HTMLOptionElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.form = new HTMLFormElement(); -/** - * Property defaultSelected - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.defaultSelected=false; -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.text=""; -/** - * Property index - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.index=0; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.disabled=false; -/** - * Property label - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.label=""; -/** - * Property selected - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.selected=false; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOptionElement.prototype.value=""; - -/** - * Object HTMLInputElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLInputElement(){}; -HTMLInputElement.prototype = new HTMLElement(); -/** - * Property defaultValue - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.defaultValue=""; -/** - * Property defaultChecked - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.defaultChecked=false; -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.form = new HTMLFormElement(); -/** - * Property accept - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.accept=""; -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.accessKey=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.align=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.alt=""; -/** - * Property checked - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.checked=false; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.disabled=false; -/** - * Property masLength - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.maxLenght=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.name=""; -/** - * Property readOnly - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.readOnly=false; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.size=0; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.src=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.type=""; -/** - * Property useMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.useMap=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.value=""; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.focus = function(){}; -/** - * function select() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.select = function(){}; -/** - * function click() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLInputElement.prototype.click = function(){}; - -/** - * Object HTMLTextAreaElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTextAreaElement(){}; -HTMLTextAreaElement.prototype = new HTMLElement(); -/** - * Property defaultValue - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.defaultValue=""; -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.form= new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.accessKey=""; -/** - * Property cols - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.cols=0; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.disabled=false; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.name=""; -/** - * Property readOnly - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.readOnly=false; -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.rows=0; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.value=""; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.focus = function(){}; -/** - * function select() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTextAreaElement.prototype.select = function(){}; - -/** - * Object HTMLButtonElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLButtonElement(){}; -HTMLButtonElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.form = new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.accessKey = ""; -/** - * Property disabled - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.disabled=false; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.name=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLButtonElement.prototype.value=""; - -/** - * Object HTMLLabelElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLabelElement(){}; -HTMLLabelElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLabelElement.prototype.form = new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLabelElement.prototype.accessKey=""; -/** - * Property htmlFor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLabelElement.prototype.htmlFor=""; - -/** - * Object HTMLFieldSetElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFieldSetElement(){}; -HTMLFieldSetElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFieldSetElement.prototype.form = new HTMLFormElement(); - -/** - * Object HTMLLegendElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLegendElement(){}; -HTMLLegendElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLegendElement.prototype.form = new HTMLFormElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLegendElement.prototype.accessKey=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLegendElement.prototype.align=""; - -/** - * Object HTMLUListElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLUListElement(){}; -HTMLUListElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLUListElement.prototype.compact=false; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLUListElement.prototype.type=""; - -/** - * Object HTMLOListElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLOListElement(){}; -HTMLOListElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOListElement.prototype.compact=false; -/** - * Property start - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOListElement.prototype.start=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLOListElement.prototype.type=""; - -/** - * Object HTMLDListElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLDListElement(){}; -HTMLDListElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDListElement.prototype.compact=false; - -/** - * Object HTMLDirectoryElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLDirectoryElement(){}; -HTMLDirectoryElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDirectoryElement.prototype.compact=false; - -/** - * Object HTMLMenuElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLMenuElement(){}; -HTMLMenuElement.prototype = new HTMLElement(); -/** - * Property compact - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMenuElement.prototype.compact=false; - -/** - * Object HTMLLIElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLLIElement(){}; -HTMLLIElement.prototype = new HTMLElement(); -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLIElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLLIElement.prototype.value=0; - -/** - * Object HTMLDivElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLDivElement(){}; -HTMLDivElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLDivElement.prototype.align=""; - -/** - * Object HTMLParagraphElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLParagraphElement(){}; -HTMLParagraphElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParagraphElement.prototype.align=""; - -/** - * Object HTMLHeadingElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHeadingElement(){}; -HTMLHeadingElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHeadingElement.prototype.align=""; - -/** - * Object HTMLQuoteElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLQuoteElement(){}; -HTMLQuoteElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLQuoteElement.prototype.align=""; - -/** - * Object HTMLPreElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLPreElement(){}; -HTMLPreElement.prototype = new HTMLElement(); -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLPreElement.prototype.width=0; - -/** - * Object HTMLBRElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBRElement(){}; -HTMLBRElement.prototype = new HTMLElement(); -/** - * Property clear - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBRElement.prototype.clear=""; - -/** - * Object HTMLBaseFontElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLBaseFontElement(){}; -HTMLBaseFontElement.prototype = new HTMLElement(); -/** - * Property color - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseFontElement.prototype.color=""; -/** - * Property face - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseFontElement.prototype.face=""; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLBaseFontElement.prototype.size=0; - -/** - * Object HTMLBaseFontElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFontElement(){}; -HTMLFontElement.prototype = new HTMLElement(); -/** - * Property color - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFontElement.prototype.color=""; -/** - * Property face - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFontElement.prototype.face=""; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFontElement.prototype.size=0; - -/** - * Object HTMLHRElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLHRElement(){}; -HTMLHRElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.align=""; -/** - * Property noShade - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.noShade=false; -/** - * Property size - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.size=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLHRElement.prototype.width=""; - -/** - * Object HTMLModElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLModElement(){}; -HTMLModElement.prototype = new HTMLElement(); -/** - * Property cite - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLModElement.prototype.cite=""; -/** - * Property dateTime - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLModElement.prototype.dateTime=""; - -/** - * Object HTMLAnchorElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLAnchorElement(){}; -HTMLAnchorElement.prototype = new HTMLElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.accessKey=""; -/** - * Property charset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.charset=""; -/** - * Property coords - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.coords=""; -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.href=""; -/** - * Property hreflang - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.hreflang=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.name=""; -/** - * Property rel - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.rel=""; -/** - * Property rev - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.rev=""; -/** - * Property shape - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.shape=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.tabIndex=0; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.target=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.type=""; -/** - * function blur() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.blur = function(){}; -/** - * function focus() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAnchorElement.prototype.focus = function(){}; - -/** - * Object Image() - * @constructor - * @param {Number} width - * @param {Number} height - */ -function Image(width, height){}; -Image.prototype = new HTMLImageElement(); -/** - * Object HTMLImageElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLImageElement(){}; -HTMLImageElement.prototype = new HTMLElement(); -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.name=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.align=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.alt=""; -/** - * Property border - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.border=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.height=0; -/** - * Property hspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.hspace=0; -/** - * Property isMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.isMap=false; -/** - * Property longDesc - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.longDesc=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.src=""; -/** - * Property useMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.useMap=""; -/** - * Property vspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.vspace=0; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLImageElement.prototype.width=0; - -/** - * Object HTMLObjectElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLObjectElement(){}; -HTMLObjectElement.prototype = new HTMLElement(); -/** - * Property form - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLFormElement - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.form = new HTMLFormElement(); -/** - * Property code - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.code=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.align=""; -/** - * Property archive - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.archive=""; -/** - * Property border - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.border=""; -/** - * Property codeBase - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.codeBase=""; -/** - * Property codeType - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.codeType=""; -/** - * Property data - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.data=""; -/** - * Property declare - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.declare=false; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.height=""; -/** - * Property hspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.hspace=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.name=""; -/** - * Property standby - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.standby=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.tabIndex=0; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.type=""; -/** - * Property useMap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.useMap=""; -/** - * Property vspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.vspace=0; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.width=""; -/** - * Property contentDocument - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLObjectElement.prototype.contentDocument= new HTMLDocument(); - -/** - * Object HTMLParamElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLParamElement(){}; -HTMLParamElement.prototype = new HTMLElement(); -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.name=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.type=""; -/** - * Property value - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.value=""; -/** - * Property valueType - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLParamElement.prototype.valueType=""; - -/** - * Object HTMLAppletElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLAppletElement(){}; -HTMLAppletElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.align=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.alt=""; -/** - * Property archive - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.archive=""; -/** - * Property code - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.code=""; -/** - * Property codeBase - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.codeBase=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.hight=""; -/** - * Property hspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.hspace=0; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.name=""; -/** - * Property object - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.object=""; -/** - * Property vspace - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.vspace=0; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAppletElement.prototype.width=""; - -/** - * Object HTMLMapElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLMapElement(){}; -HTMLMapElement.prototype = new HTMLElement(); -/** - * Property areas - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMapElement.prototype.areas = new HTMLCollection(); -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLMapElement.prototype.name=""; - -/** - * Object HTMLAreaElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLAreaElement(){}; -HTMLAreaElement.prototype = new HTMLElement(); -/** - * Property accessKey - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.accessKey=""; -/** - * Property alt - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.alt=""; -/** - * Property coords - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.coords=""; -/** - * Property href - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.href=""; -/** - * Property noHref - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.noHref=false; -/** - * Property shape - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.shape=""; -/** - * Property tabIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.tabIndex=0; -/** - * Property target - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLAreaElement.prototype.target=""; - -/** - * Object HTMLScriptElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLScriptElement(){}; -HTMLScriptElement.prototype = new HTMLElement(); -/** - * Property text - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.text=""; -/** - * Property htmlFor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.htmlFor=""; -/** - * Property event - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.event=""; -/** - * Property charset - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.charset=""; -/** - * Property defer - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.defer=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.src=""; -/** - * Property type - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLScriptElement.prototype.type=""; - -/** - * Object HTMLTableElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableElement(){}; -HTMLTableElement.prototype = new HTMLElement(); -/** - * Property caption - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLTableCaptionElement - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.caption = new HTMLTableCaptionElement(); -/** - * Property tHead - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLTableSectionElement - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.tHead = new HTMLTableSelectionElement(); -/** - * Property tFoot - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLTableSectionElement - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.tFoot = new HTMLTableSelectionElement(); -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.rows = new HTMLCollection(); -/** - * Property tBodies - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.tBodies = new HTMLCollection(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.align=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.bgColor=""; -/** - * Property border - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.border=""; -/** - * Property cellPadding - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.cellPadding=""; -/** - * Property cellSpacing - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.cellSpacing=""; -/** - * Property frame - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.frame=""; -/** - * Property rules - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.rules=""; -/** - * Property summary - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.summary=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.width=""; -/** - * function createTHead(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @returns {HTMLElement} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.createTHead = function(){return new HTMLElement();}; -/** - * function deleteTHead(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteTHead = function(){}; -/** - * function createTFoot(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @returns {HTMLElement} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.createTFoot = function(){return new HTMLElement();}; -/** - * function deleteTFoot(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteTFoot = function(){}; -/** - * function createCaption(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @returns {HTMLElement} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.createCaption = function(){return new HTMLElement();}; -/** - * function deleteCaption(); - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteCaption = function(){}; -/** - * function insertRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {HTMLElement} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.insertRow = function(index){return new HTMLElement();}; -/** - * function deleteRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableElement.prototype.deleteRow = function(index){}; - -/** - * Object HTMLTableCaptionElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableCaptionElement(){}; -HTMLTableCaptionElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCaptionElement.prototype.align=""; - -/** - * Object HTMLTableColElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableColElement(){}; -HTMLTableColElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.align=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.chOff=""; -/** - * Property span - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.span=0; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.vAlign=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableColElement.prototype.width=""; - -/** - * Object HTMLTableSelectionElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableSelectionElement(){}; -HTMLTableSelectionElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.align=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.chOff=""; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.vAlign=""; -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.rows=""; -/** - * function insertRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {HTMLElement} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.insertRow = function(index){return new HTMLElement();}; -/** - * function deleteRow(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableSelectionElement.prototype.deleteRow = function(index){}; - -/** - * Object HTMLTableRowElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableRowElement(){}; -HTMLTableRowElement.prototype = new HTMLElement(); -/** - * Property rowIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.rowIndex=0; -/** - * Property sectionRowIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.sectionRowIndex=0; -/** - * Property cells - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type HTMLCollection - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.cells = new HTMLCollection(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.align=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.bgColor=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.chOff=""; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.vAlign=""; -/** - * function insertCell(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @returns {HTMLElement} - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.insertCell = function(index){return new HTMLElement();}; -/** - * function insertCell(index) - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @param {Number} index - * @throws DOMException - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableRowElement.prototype.deleteCell = function(index){}; - -/** - * Object HTMLTableRowElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLTableCellElement(){}; -HTMLTableCellElement.prototype = new HTMLElement(); -/** - * Property cellIndex - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.cellIndex=0; -/** - * Property abbr - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.abbr=""; -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.align=""; -/** - * Property axis - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.axis=""; -/** - * Property bgColor - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.bgColor=""; -/** - * Property ch - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.ch=""; -/** - * Property chOff - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.chOff=""; -/** - * Property colSpan - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.colSpan=0; -/** - * Property headers - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.headers=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.height=""; -/** - * Property noWrap - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.noWrap=false; -/** - * Property rowSpan - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.rowSpan=0; -/** - * Property scope - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.scope=""; -/** - * Property vAlign - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.vAlign=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLTableCellElement.prototype.width=""; - -/** - * Object HTMLFrameSetElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFrameSetElement(){}; -HTMLFrameSetElement.prototype = new HTMLElement(); -/** - * Property cols - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameSetElement.prototype.cols=""; -/** - * Property rows - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameSetElement.prototype.rows=""; - -/** - * Object HTMLFrameElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLFrameElement(){}; -HTMLFrameElement.prototype = new HTMLElement(); -/** - * Property frameBorder - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.frameBorder=""; -/** - * Property longDesc - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.longDesc=""; -/** - * Property marginHeight - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.marginHeight=""; -/** - * Property marginWidth - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.marginWidth=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.name=""; -/** - * Property noResize - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Boolean - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.noResize=false; -/** - * Property scrolling - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.scrolling=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.src=""; -/** - * Property contentDocument - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLFrameElement.prototype.contentDocument= new HTMLDocument(); - -/** - * Object HTMLIFrameElement() - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @augments HTMLElement - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - * @see HTMLElement - */ -function HTMLIFrameElement(){}; -HTMLIFrameElement.prototype = new HTMLElement(); -/** - * Property align - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.align=""; -/** - * Property frameBorder - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.frameBorder=""; -/** - * Property height - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.height=""; -/** - * Property longDesc - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.longDesc=""; -/** - * Property marginHeight - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.marginHeight=""; -/** - * Property marginWidth - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.marginWidth=""; -/** - * Property name - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.name=""; -/** - * Property scrolling - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.scrolling=""; -/** - * Property src - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.src=""; -/** - * Property width - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.width=""; -/** - * Property contentDocument - * http://www.w3.org/TR/2003/REC-DOM-Level-2-HTML-20030109/html.html - * - * @type Document - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model HTML Specification. - */ -HTMLIFrameElement.prototype.contentDocument= new HTMLDocument(); - -/* Stylesheets */ -/** - * Object CSS2Properties() - * http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/ecma-script-binding.html - * - * @augments Object - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Style Specification. - */ -function CSS2Properties(){}; -CSS2Properties.prototype = new Object(); \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js deleted file mode 100644 index 184cb12..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/system.js +++ /dev/null @@ -1,1483 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2010 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - ****************************************************************************** -* Please see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html -*/ - -/** - * Object Object() - * @constructor - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Object(){}; - /** - * function toString() - * @memberOf Object - * @returns {String} - * @see Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.toString = function(){return "";}; - /** - * function toLocaleString() - * @memberOf Object - * @returns {String} - * @see Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.toLocaleString = function(){return "";}; - /** - * function valueOf() - * @memberOf Object - * @returns {Object} - * @see Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.valueOf = function(){return new Object();}; - /** - * function hasOwnProperty(name) - * @memberOf Object - * @param {String} name - * @returns {Boolean} - * @see Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.hasOwnProperty = function(name){return true;}; - /** - * function isPrototypeOf(o) - * @memberOf Object - * @param {Object} o - * @returns {Boolean} - * @see Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.isPrototypeOf = function(o){return true;}; - /** - * function propertyIsEnumerable(name) - * @memberOf Object - * @param {Object} name - * @returns {Boolean} - * @see Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.propertyIsEnumerable = function(name){return true;}; -/** - * Property constructor - * @type Function - * @memberOf Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Object.prototype.constructor = new Function(); - -/** - * Object String() - * @constructor - * @extends Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function String(){} -String.prototype = new Object(); -/** - * static function fromCharCode(charCode1, ...) - * @memberOf String - * @param {Number} charCode - * @returns {String} - * @static - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.fromCharCode = function(charCode){return "";}; -/** - * Property length - * @type Number - * @memberOf String - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.length = 1; - /** - * function charAt(position) - * @memberOf String - * @param {Number} position - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.charAt = function(position){return "";}; - /** - * function charCodeAt(position) - * @memberOf String - * @param {Number} position - * @returns {Number} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.charCodeAt = function(position){return 0;}; - /** - * function concat(value1, ...) - * @memberOf String - * @param {String} value - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.concat = function(value){return "";}; - /** - * function indexOf(searchString, startPosition) - * @memberOf String - * @param {String} searchString - * @param {Number} startPosition - * @returns {Number} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.indexOf = function(searchString, startPosition){return 1;}; - /** - * function lastIndexOf(searchString, startPosition) - * @memberOf String - * @param {String} searchString - * @param {Number} startPosition - * @returns {Number} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.lastIndexOf = function(searchString, startPosition){return 1;}; - /** - * function localeCompare(otherString) - * @memberOf String - * @param {String} otherString - * @returns {Number} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.localeCompare = function(otherString){return 0;}; - /** - * function match(regexp) - * @memberOf String - * @param {RegExp} regexp - * @returns {Array} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.match = function(regexp){return [];}; - /** - * function replace(regexp, replaceValue) - * @memberOf String - * @param {RegExp} regexp - * @param {String} replaceValue - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.replace = function(regexp, replaceValue){return "";}; - /** - * function search(regexp) - * @memberOf String - * @param {RegExp} regexp - * @returns {Number} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.search = function(regexp){return 1;}; - /** - * function slice(start, end) - * @memberOf String - * @param {Number} start - * @param {Number} end - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.slice = function(start, end){return "";}; - /** - * function split(separator, limit) - * @memberOf String - * @param {String} separator - * @param {Number} limit - * @returns {Array} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.split = function(separator, limit){return [];}; - /** - * function substring(start, end) - * @memberOf String - * @param {Number} start - * @param {Number} end - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.substring = function(start, end){return "";}; - /** - * function toLowerCase() - * @memberOf String - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.toLowerCase = function(){return "";}; - /** - * function toLocaleLowerCase() - * @memberOf String - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.toLocaleLowerCase = function(){return "";}; - /** - * function toUpperCase() - * @memberOf String - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.toUpperCase= function (){return "";}; - /** - * function toLocaleUpperCase() - * @memberOf String - * @returns {String} - * @see String - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -String.prototype.toLocaleUpperCase = function(){return "";}; - -/** - * Object Number() - * @constructor - * @extends Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Number(){} -Number.prototype = new Object(); -/** - * property MIN_VALUE - * @type Number - * @memberOf Number - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Number.MIN_VALUE = 0; -/** - * property MAX_VALUE - * @type Number - * @memberOf Number - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Number.MAX_VALUE = 0 ; -/** - * property NaN - * @type Number - * @memberOf Number - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Number.NaN = 0; -/** - * property NEGATIVE_INFINITY - * @type Number - * @memberOf Number - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Number.NEGATIVE_INFINITY = 0; -/** - * property POSITIVE_INFINITY - * @type Number - * @memberOf Number - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Number.POSITIVE_INFINITY = 0; -/** - * function toFixed(fractionDigits) - * @memberOf Number - * @param {Number} fractionDigits - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Number.prototype.toFixed = function(fractionDigits){return "";}; -/** - * function toExponential(fractionDigits) - * @memberOf Number - * @param {Number} fractionDigits - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Number.prototype.toExponential = function(fractionDigits){return "";}; -/** - * function toPrecision(precision) - * @memberOf Number - * @param {Number} fractionDigits - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Number.prototype.toPrecision = function(fractionDigits){return "";}; - -/** - * Object Boolean() - * @constructor - * @extends Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -function Boolean(){}; -Boolean.prototype = new Object(); - -/** - * Object Array() - * @constructor - * @extends Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Array(){}; -Array.prototype = new Object(); -/** - * Property length - * @type Number - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.length = 1; -/** - * function concat(args) - * @param {Array} args - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.concat = function(args){return [];}; -/** - * function join(seperator) - * @param {String} seperator - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.join = function(seperator){return [];}; -/** - * function pop() - * @returns {Object} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.pop = function(){return new Object();}; -/** - * function push(args) - * @param {Array} args - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.push = function(args){}; -/** - * function reverse() - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.reverse = function(){return [];}; -/** - * function shift() - * @returns {Object} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.shift = function(){return new Object();}; -/** - * function slice(start, end) - * @param {Number} start - * @param {Number} end - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.slice = function(start, end){return [];}; -/** - * function sort(funct) - * @param {Function} funct - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.sort = function(funct){return [];}; -/** - * function splice(start, deletecount, items) - * @param {Number} start - * @param {Number} deletecount - * @param {Array} items - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.splice = function(start, deletecount, items){return [];}; -/** - * function unshift(items) - * @param {Array} start - * @returns {Array} - * @memberOf Array - * @see Array - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Array.prototype.unshift = function(start){return [];}; - -/** - * Object Function() - * @constructor - * @extends Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Function(){}; -Function.prototype = new Object(); -/** - * function apply (thisObject, argArray) - * @param {Object} thisObject - * @param {Array} argArray - * @returns {Object} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Function.prototype.apply = function(thisArg, argArray){return new Object();}; -/** - * function call (thisObject, args) - * @param {Object} thisObject - * @param {Object} args - * @returns {Object} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Function.prototype.call = function(thisObject, args){return new Object();}; -/** - * property length - * @type Number - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Function.prototype.length = 0; - -/** - * Object Date(s) - * @constructor - * @param {String} s - * @extends Object - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Date(s){}; -Date.prototype = new Object(); -/** - * function UTC(hour, min, sec, ms) - * @memberOf Date - * @param {Number} hour - * @param {Number} min - * @param {Number} sec - * @param {Number} ms - * @returns {Number} - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Date.UTC = function(hour, min, sec, ms){return 0;}; -/** - * function parse(string) - * @memberOf Date - * @param {String} string - * @returns {Number} - * @static - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.parse = function(string){return 0;}; -/** - * function toDateString() - * @memberOf Date - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.toDateString = function(){return "";}; -/** - * function toTimeString() - * @memberOf Date - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.toTimeString = function(){return "";}; -/** - * function toLocaleString() - * @memberOf Date - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.toLocaleString = function(){return "";}; -/** - * function toLocaleDateString() - * @memberOf Date - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.toLocaleDateString = function(){return "";}; -/** - * function toLocaleTimeString() - * @memberOf Date - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.toLocaleTimeString = function(){return "";}; -/** - * function valueOf() - * @memberOf Date - * @returns {Object} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.valueOf = function(){return new Object();}; -/** - * function getFullYear() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getFullYear = function(){return 0;}; -/** - * function getTime() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getTime = function(){return 0;}; -/** - * function getUTCFullYear() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCFullYear = function(){return 0;}; -/** - * function getMonth() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getMonth = function(){return 0;}; -/** - * function getUTCMonth() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCMonth = function(){return 0;}; -/** - * function getDate() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getDate = function(){return 0;}; -/** - * function getUTCDate() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCDate = function(){return 0;}; -/** - * function getDay() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getDay = function(){return 0;}; -/** - * function getUTCDay() - * @memberOf Date - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - - */ -Date.prototype.getUTCDay=function(){return 0;}; -/** - * function getHours() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getHours = function(){return 0;}; -/** - * function getUTCHours() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCHours = function(){return 0;}; -/** - * function getMinutes() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getMinutes = function(){return 0;}; -/** - * function getUTCMinutes() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCMinutes = function(){return 0;}; -/** - * function getSeconds() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getSeconds = function(){return 0;}; -/** - * function getUTCSeconds() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCSeconds = function(){return 0;}; -/** - * function getMilliseconds() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getMilliseconds = function(){return 0;}; -/** - * function getUTCMilliseconds() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getUTCMilliseconds = function(){return 0;}; -/** - * function getTimezoneOffset() - * @memberOf Date - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.getTimezoneOffset = function(){return 0;}; -/** - * function setTime(value) - * @memberOf Date - * @returns {Number} - * @param {Number} value - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setTime = function(value){return 0;}; - -/** - * function setMilliseconds(value) - * @memberOf Date - * @returns {Number} - * @param {Number} value - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setMilliseconds = function(value){return 0;}; -/** - * function setUTCMilliseconds(ms) - * @memberOf Date - * @returns {Number} - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCMilliseconds = function(ms){return 0;}; -/** - * function setSeconds(sec,ms) - * @memberOf Date - * @returns {Number} - * @param {Number} sec - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setSeconds = function(sec,ms){return 0;}; -/** - * function setUTCSeconds(sec,ms) - * @memberOf Date - * @returns {Number} - * @param {Number} sec - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCSeconds=function(sec,ms){return 0;}; -/** - * function setMinutes(min,sec,ms) - * @memberOf Date - * @returns {Number} - * @param {Number} min - * @param {Number} sec - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setMinutes=function(min,sec,ms){return 0;}; -/** - * function setUTCMinute(min,sec,ms) - * @memberOf Date - * @returns {Number} - * @param {Number} min - * @param {Number} sec - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCMinute = function(min,sec,ms){return 0;}; -/** - * function setHours(hour, min,sec,ms) - * @memberOf Date - * @returns {Number} - * @param {Number} hour - * @param {Number} min - * @param {Number} sec - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setHours = function(hour,min,sec,ms){return 0;}; -/** - * function setUTCHours(hour, min,sec,ms) - * @memberOf Date - * @returns {Number} - * @param {Number} hour - * @param {Number} min - * @param {Number} sec - * @param {Number} ms - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCHours = function(hour,min,sec,ms){return 0;}; - -/** - * function setDate(date) - * @memberOf Date - * @returns {Number} - * @param {Number} date - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setDate = function(date){return 0;}; - -/** - * function setUTCDate(date) - * @memberOf Date - * @returns {Number} - * @param {Number} date - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCDate = function(date){return 0;}; - -/** - * function setMonth(month,date) - * @memberOf Date - * @returns {Number} - * @param {Number} date - * @param {Number} month - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setMonth = function(month,date){return 1;}; -/** - * function setUTCMonth(month,date) - * @memberOf Date - * @returns {Number} - * @param {Number} date - * @param {Number} month - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCMonth = function(month,date){return 1;}; -/** - * function setFullYear(month,date) - * @memberOf Date - * @returns {Number} - * @param {Number} date - * @param {Number} month - * @param {Number} year - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setFullYear = function(year, month,date){return 0;}; -/** - * function setUTCFullYear(month,date) - * @memberOf Date - * @returns {Date} - * @param {Number} date - * @param {Number} month - * @param {Number} year - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Date.prototype.setUTCFullYear = function(year, month,date){}; -/** - * function toUTCString() - * @memberOf Date - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Date.prototype.toUTCString = function(){return "";}; - -/** - * Object Global - * @super Object - * @constructor - * @memberOf Global - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Global(){}; -Global.prototype=new Object(); -/** - * Property NaN - * @memberOf Global - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.NaN=0; -/** - * Property Infinity - * @memberOf Global - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.Infinity=0; -/** - * function eval(s) - * @memberOf Global - * @param {String} s - * @type Object - * @returns {Object} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.eval=function(s){return new Object();}; - -//@GINO: Bug 197987 (Temp Fix) -/** - * Property debugger - * @memberOf Global - * @description Debugger keyword - */ -Global.prototype.debugger=null; - -/** - * Property undefined - * @memberOf Global - * @description undefined -*/ -Global.prototype.undefined=null; - -/** - * function parseInt(s,radix) - * @memberOf Global - * @param {String} s - * @param {Number} radix - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.parseInt=function(s,radix){return 0;}; -/** - * function parseFloat(s) - * @memberOf Global - * @param {String} s - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.parseFloat=function(s){return 0;}; -/** - * function escape(s) - * @memberOf Global - * @param {String} s - * @type String - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Global.prototype.escape=function(s){return "";}; -/** - * function unescape(s) - * @memberOf Global - * @param {String} s - * @type String - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Global.prototype.unescape=function(s){return "";}; -/** - * function isNaN(number) - * @memberOf Global - * @param {String} number - * @type Boolean - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.isNaN=function(number){return false;}; -/** - * function isFinite(number) - * @memberOf Global - * @param {String} number - * @type Boolean - * @returns {Boolean} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Global.prototype.isFinite=function(number){return false;}; -/** - * function decodeURI(encodedURI) - * @memberOf Global - * @param {String} encodedURI - * @type String - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Global.prototype.decodeURI=function(encodedURI){return "";}; -/** - * @memberOf Global - * @param {String} uriComponent - * @type String - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Global.prototype.decodeURIComponent=function(uriComponent){return "";}; -/** - * function encodeURIComponent(uriComponent) - * @memberOf Global - * @param {String} uriComponent - * @type String - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Global.prototype.encodeURIComponent=function(uriComponent){return "";}; - -/** - * function encodeURIComponent(URI) - * @memberOf Global - * @param {String} URI - * @type String - * @returns {String} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. -*/ -Global.prototype.encodeURI=function(URI){return "";}; - -/** - * Object Math(\s) - * @super Object - * @constructor - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - - */ -function Math(){}; -Math.prototype=new Object(); -/** - * Property E - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.E=0; -/** - * Property LN10 - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.LN10=0; -/** - * Property LN2 - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.LN2=0; -/** - * Property LOG2E - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.LOG2E=0; -/** - * Property LOG10E - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.LOG10E=0; -/** - * Property PI - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.PI=0; -/** - * Property SQRT1_2 - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.SQRT1_2=0; -/** - * Property SQRT2 - * @memberOf Math - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.SQRT2=0; -/** - * function abs(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.abs=function(x){return 0;}; -/** - * function acos(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.acos=function(x){return 0;}; -/** - * function asin(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.asin=function(x){return 0;}; -/** - * function atan(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.atan=function(x){return 0;}; -/** - * function atan2(x,y) - * @memberOf Math - * @param {Number} x - * @param {Number} y - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.atan2=function(x,y){return 0;}; -/** - * function ceil(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.ceil=function(x){return 0;}; -/** - * function cos(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.cos=function(x){return 0;}; -/** - * function exp(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.exp=function(x){return 0;}; -/** - * function floor(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.floor=function(x){return 0;}; -/** - * function log(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.log=function(x){return 0;}; -/** - * function max(arg) - * @memberOf Math - * @param {Number} args - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.max=function(args){return 0;}; -/** - * function min(arg) - * @memberOf Math - * @param {Number} args - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.min=function(args){return 0;}; -/** - * function pow(x,y) - * @memberOf Math - * @param {Number} x - * @param {Number} y - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.pow=function(x,y){return 0;}; -/** - * function pow() - * @memberOf Math - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.random=function(){return 0;}; -/** - * function round(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.round=function(x){return 0;}; -/** - * function sin(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.sin=function(x){return 0;}; -/** - * function sqrt(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.sqrt=function(x){return 0;}; -/** - * function tan(x) - * @memberOf Math - * @param {Number} x - * @type Number - * @returns {Number} - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Math.tan=function(x){return 0;}; -/** - * Object RegExp() - * @super Object - * @constructor - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function RegExp(){}; -RegExp.prototype=new Object(); -/** - * function exec(string) - * @param {String} string - * @returns {Array} - * @type Array - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.exec=function(string){return [];}; -/** - * function test(string) - * @param {String} string - * @returns {Boolean} - * @type Boolean - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.test=function(string){return false;}; -/** - * property source - * @type String - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.source=""; -/** - * property global - * @type Boolean - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.global=false; - -/** - * property ignoreCase - * @type Boolean - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.ignoreCase=false; -/** - * property multiline - * @type Boolean - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.multiline=false; -/** - * property lastIndex - * @type Number - * @memberOf RegExp - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -RegExp.prototype.lastIndex=0; -/** - * Object Error(message) - * @super Object - * @constructor - * @param {String} message - * @memberOf Error - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function Error(message){}; -Error.prototype=new Object(); -/** - * property name - * @type String - * @memberOf Error - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Error.prototype.name=""; -/** - * property message - * @type String - * @memberOf Error - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -Error.prototype.message=""; -/** - * Object EvalError() - * @super Error - * @constructor - * - * @memberOf EvalError - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function EvalError(){}; -EvalError.prototype=new Error(""); -/** - * Object RangeError() - * @super Error - * @constructor - * - * @memberOf RangeError - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function RangeError(){}; -RangeError.prototype=new Error(""); -/** - * Object ReferenceError() - * @super Error - * @constructor - * - * @memberOf ReferenceError - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function ReferenceError(){}; -ReferenceError.prototype=new Error(""); -/** - * Object SyntaxError() - * @super Error - * @constructor - * - * @memberOf SyntaxError - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function SyntaxError(){}; -SyntaxError.prototype=new Error(""); -/** - * Object TypeError() - * @super Error - * @constructor - * - * @memberOf TypeError - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function TypeError(){}; -TypeError.prototype=new Error(""); -/** - * Object URIError() - * @super Error - * @constructor - * - * @memberOf URIError - * @since Standard ECMA-262 3rd. Edition - * @since Level 2 Document Object Model Core Definition. - */ -function URIError(){}; -URIError.prototype=new Error(""); - -//support for debugger keyword -var debugger = null; \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js b/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js deleted file mode 100644 index 87c4b3f..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.core/libraries/xhr.js +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - ****************************************************************************** - * - * Based on information from https://developer.mozilla.org/En/XMLHttpRequest - * and http://msdn2.microsoft.com/en-us/library/ms533062.aspx - **/ - -/** -* function createRequest -* @type XMLHttpRequest -* @memberOf Window -*/ -Window.prototype.createRequest= function(){return new XMLHttpRequest();}; -/** -* Object XMLHttpRequest -* @super Global -* @type constructor -* @memberOf Global -*/ -XMLHttpRequest.prototype=new Object(); -function XMLHttpRequest(){}; - -/** - * function onreadystatechange - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.onreadystatechange=function(){}; -/** - * property readyState - * @type Number - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.readyState=0; -/** - * property responseText - * @type String - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.responseText=""; -/** - * property responseXML - * @type Document - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.responseXML=new Document(); -/** - * property status - * @type Number - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.status=0; -/** - * property statusText - * @type String - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.statusText=""; -/** - * function abort() - * @memberOf XMLHttpRequest - */ -XMLHttpRequest.prototype.abort=function(){}; -/** -* function getAllResponseHeaders() -* @type String -* @memberOf XMLHttpRequest -*/ -XMLHttpRequest.prototype.getAllResponseHeaders=function(){return "";}; -/** -* function open(method, url, async, username, password) -* @param {String} method -* @param {String} url -* @param {Boolean} optional async -* @param {String} optional username -* @param {String} optional password -* @memberOf XMLHttpRequest -*/ -XMLHttpRequest.prototype.open=function(method, url, async, username, password){}; -/** -* function send(body) -* @param {Object} body -* @memberOf XMLHttpRequest -*/ -XMLHttpRequest.prototype.send=function(body){}; -/** -* function setRequestHeader(header,value) -* @param {String} header -* @param {String} value -* @memberOf XMLHttpRequest -*/ -XMLHttpRequest.prototype.setRequestHeader=function(header,value){}; -/** -* function getAllResponseHeaders() -* @param {String} header -* @type String -* @memberOf XMLHttpRequest -*/ -XMLHttpRequest.prototype.getResponseHeader=function(header){return "";}; diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat b/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat deleted file mode 100644 index 3f8e74c..0000000 Binary files a/.metadata/.plugins/org.eclipse.wst.jsdt.core/variablesAndContainers.dat and /dev/null differ diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml b/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml deleted file mode 100644 index a4ee3cb..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.ui/OpenTypeHistory.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml b/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml deleted file mode 100644 index 9e390f5..0000000 --- a/.metadata/.plugins/org.eclipse.wst.jsdt.ui/QualifiedTypeNameHistory.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/version.ini b/.metadata/version.ini deleted file mode 100644 index c51ff74..0000000 --- a/.metadata/version.ini +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.core.runtime=1 \ No newline at end of file