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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock