Jump to content
  • 0

[help]compile error


Question

Posted

    [javac] Compiling 1306 source files to D:\source\build\classes
    [javac] D:\source\java\net\sf\l2j\gameserver\handler\voicedcommandhandlers\Q
uizCmd.java:11: error: QuizCmd is not abstract and does not override abstract me
thod useVoicedCommand(String,L2PcInstance) in IVoicedCommandHandler
    [javac] public class QuizCmd implements IVoicedCommandHandler
    [javac]        ^
    [javac] D:\source\java\net\sf\l2j\gameserver\handler\voicedcommandhandlers\Q
uizCmd.java:16: error: method does not override or implement a method from a sup
ertype
    [javac]        @Override
    [javac]        ^    [javac] 2 errors

 

 

the QuizCmd.java

 

 

package net.sf.l2j.gameserver.handler.voicedcommandhandlers;


import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.entity.QuizEvent;


/**
+ * @author Pauler
**/


public class QuizCmd implements IVoicedCommandHandler
{
      
       public static final String[] VOICED_COMMANDS = { "quiz", "pauler" };
      
       @Override
       public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
       {
               if (command.equalsIgnoreCase("quiz")) {
                      
                       if (QuizEvent.isRunning()) {
                              
                               QuizEvent.checkAnswer(target, activeChar);
                               activeChar.sendMessage("Your answer has been submitted.");
                              
                       }else{
                              
                               activeChar.sendMessage("Quiz event is not running right now.");
                              
                       }
                      
               }
              
               if (command.equalsIgnoreCase("pauler")) {
                      
                       activeChar.sendMessage("Quiz event by pauler.");
                      
               }
              
               return false;
       }
      
       @Override
       public String[] getVoicedCommandList()
       {
               return VOICED_COMMANDS;
       }
      
}

 

 

can any1 help?

10 answers to this question

Recommended Posts

  • 0
Posted

That @override macro tells java that the object you're in is taking over a method in the object you extended. It'll stop the compiler if it can't find the method it's overriding. Maybe just remove @override? Or should it be overriding something? In which case you've implemented it incorrectly or it's just a mistake.

  • 0
Posted

now have this error:

D:\source>cmd
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

D:\source>ant
Buildfile: D:\source\build.xml

clean:
   [delete] Deleting directory D:\source\build

checkRequirements:
     [echo] Verification of your JDK version.

version:
     [echo] aCis gameserver revision: exported

init:
    [mkdir] Created dir: D:\source\build
    [mkdir] Created dir: D:\source\build\classes
    [mkdir] Created dir: D:\source\build\dist
    [mkdir] Created dir: D:\source\build\dist\login
    [mkdir] Created dir: D:\source\build\dist\gameserver

compile:
    [javac] Compiling 1306 source files to D:\source\build\classes
    [javac] D:\source\java\net\sf\l2j\gameserver\handler\VoicedCommandHandler.ja
va:22: error: package net.sf.l2j.handler.voicedcommandhandlers does not exist
    [javac] import net.sf.l2j.handler.voicedcommandhandlers.QuizCmd;
    [javac]                                                ^
    [javac] D:\source\java\net\sf\l2j\gameserver\handler\VoicedCommandHandler.ja
va:37: error: cannot find symbol
    [javac]             registerVoicedCommandHandler(new QuizCmd());
    [javac]                                              ^
    [javac]   symbol:   class QuizCmd
    [javac]   location: class VoicedCommandHandler
    [javac] D:\source\java\net\sf\l2j\gameserver\handler\voicedcommandhandlers\Q
uizCmd.java:37: error: method checkAnswer in class QuizEvent cannot be applied t
o given types;
    [javac]                                QuizEvent.checkAnswer(activeChar);
    [javac]                                         ^
    [javac]   required: String,L2PcInstance
    [javac]   found: L2PcInstance
    [javac]   reason: actual and formal argument lists differ in length
    [javac] 3 errors

BUILD FAILED
D:\source\build.xml:54: Compile failed; see the compiler error output for detail
s.

Total time: 18 seconds

D:\source>ant
Buildfile: D:\source\build.xml

clean:
   [delete] Deleting directory D:\source\build

checkRequirements:
     [echo] Verification of your JDK version.

version:
     [echo] aCis gameserver revision: exported

init:
    [mkdir] Created dir: D:\source\build
    [mkdir] Created dir: D:\source\build\classes
    [mkdir] Created dir: D:\source\build\dist
    [mkdir] Created dir: D:\source\build\dist\login
    [mkdir] Created dir: D:\source\build\dist\gameserver

compile:
    [javac] Compiling 1306 source files to D:\source\build\classes
    [javac] D:\source\java\net\sf\l2j\gameserver\handler\voicedcommandhandlers\Q
uizCmd.java:37: error: method checkAnswer in class QuizEvent cannot be applied t
o given types;
    [javac]                                QuizEvent.checkAnswer(activeChar);
    [javac]                                         ^
    [javac]   required: String,L2PcInstance
    [javac]   found: L2PcInstance
    [javac]   reason: actual and formal argument lists differ in length
    [javac] 1 error

BUILD FAILED
D:\source\build.xml:54: Compile failed; see the compiler error output for detail
s.

Total time: 13 seconds

D:\source>

  • 0
Posted

I was just going to recommend that you go look at the interface function and make sure you check if the arguments match, but the post earlier:

 

remove "String target" argument

 

Read your post a bit better than me.

 

In the function

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)

 

You added the String target argument. Because this doesn't match the interface definition you've actually made a completely different function. The @override macro is reporting an error because that definition doesn't exist in the interface.

 

  • 0
Posted

By the time you use one of my shares you can also PM me.

 

In case this is still unsolved, the error occurs because the pack you use doesn't contain one of the overriden methods I used.

 

You are propably missing the whole voiced command feature.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...