Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Minecraft
You last visited: Today at 20:40

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Minecraft Plugin-Coding Frage

Discussion on Minecraft Plugin-Coding Frage within the Minecraft forum part of the Other Online Games category.

Reply
 
Old   #1
 
Praim's Avatar
 
elite*gold: 28
Join Date: Apr 2010
Posts: 2,355
Received Thanks: 439
Minecraft Plugin-Coding Frage

Moin.
Habe mich ein wenig mit dem Erstellen von Plugins für Minecraft (genauer gesagt Bukkit) beschäftigt.
Nun habe ich eine Frage - wie kann ich es machen, dass die Aktion nur dann ausgeführt wird, wenn der User einen bestimmten Befehl eingibt?

Beispiel:
User gibt ein
Quote:
/lol
und dann erscheint im Chat "Lol wurde eingegeben"
Das mit dem Erscheinen ist kein Problem, aber wie (vor Allem) das / abfragen?
Und 2.: Das Plugin soll praktisch eine Variable nach dem "/lol" erstellen.

Beispiel:
User gibt ein
Quote:
/lol Das ist ein Test
und im Chat erscheint "Das ist ein Test"

Wäre nett, wenn mir jemand helfen könnte.

Gruß
Praim is offline  
Old 09/25/2011, 22:54   #2


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
Das müsste eigentlich gehen

Code:
@Override
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
        {
                if (!(sender instanceof Player))[COLOR="Yellow"]//überprüfen ob es ein player ist und kein anderes plugin[/COLOR]
                {
                        return false;
                }
               
                Player p = (Player) sender;
               
                if (cmd.getName().equalsIgnoreCase("lol"))[COLOR="Yellow"]//überprüfen ob /lol eingegeben wurde[/COLOR]
                {
                        if (!(args.length == 0)) 
                        {
                                return false;
                        }
                       
                        
                        p.sendMessage("lol" ); [COLOR="Yellow"]//senden der nachricht[/COLOR]
                       
                        return true;
    }
}
False is offline  
Old 09/25/2011, 22:55   #3
 
elite*gold: 5
Join Date: May 2007
Posts: 1,019
Received Thanks: 250
handsan is offline  
Old 09/25/2011, 23:20   #4
 
Praim's Avatar
 
elite*gold: 28
Join Date: Apr 2010
Posts: 2,355
Received Thanks: 439
Hab das nun so:
Code:
package Praimlain.SlimeFun;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Event.Priority;
import org.bukkit.event.Event;
import org.bukkit.plugin.PluginDescriptionFile;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.plugin.PluginManager;

/**
* Sample plugin for Bukkit
*
* @author Dinnerbone
*/
public class SlimeFun extends JavaPlugin 
{
    private final SlimeFunPlayerListener playerListener = new SlimeFunPlayerListener(this);
    private final SlimeFunBlockListener blockListener = new SlimeFunBlockListener(this);
    //private final HashMap<Player, Boolean> debugees = new HashMap<Player, Boolean>();

    // NOTE: There should be no need to define a constructor any more for more info on moving from
    // the old constructor see:
    // http://forums.bukkit.org/threads/too-long-constructor.5032/

    @Override
    public void onDisable() 
    {
        System.out.println("Goodbye world!");
    }
    
    @Override
    public void onEnable() 
    {
        PluginManager pm = getServer().getPluginManager();
        pm.registerEvent(Event.Type.PLAYER_JOIN, playerListener, Priority.Normal, this);
        pm.registerEvent(Event.Type.PLAYER_QUIT, playerListener, Priority.Normal, this);
        pm.registerEvent(Event.Type.PLAYER_MOVE, playerListener, Priority.Normal, this);
        pm.registerEvent(Event.Type.BLOCK_PHYSICS, blockListener, Priority.Normal, this);
        pm.registerEvent(Event.Type.BLOCK_CANBUILD, blockListener, Priority.Normal, this);
        
        pm.registerEvent(Event.Type.PLAYER_CHAT, playerListener, Priority.Normal, this);
        pm.registerEvent(Event.Type.BLOCK_BREAK, blockListener, Priority.Normal, this);


        PluginDescriptionFile pdfFile = this.getDescription();
        System.out.println( pdfFile.getName() + " version " + pdfFile.getVersion() + " is enabled!" );
    }
    
    @Override
        public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args)
    {
                if (!(sender instanceof Player))//überprüfen ob es ein player ist und kein anderes plugin
                {
                        return false;
                }
               
                Player p = (Player) sender;
               
                if (cmd.getName().equalsIgnoreCase("lol"))//überprüfen ob /lol eingegeben wurde
                {
                        if (!(args.length == 0)) 
                        {
                                return false;
                        }
                       
                        
                        p.sendMessage("lol" ); //senden der nachricht
                       
                        return true;
                }
    }
}
Aber
Quote:
missing return statement
}
1 error
Was mach ich falsch? xD
Praim is offline  
Old 09/25/2011, 23:21   #5
 
elite*gold: 5
Join Date: May 2007
Posts: 1,019
Received Thanks: 250
Java Grundlagen lernen?

Du musst true oder false zurückgeben. Im Video wird das erklärt.

Im Moment ist es möglich dass kein return erreicht wird.
handsan is offline  
Old 09/25/2011, 23:27   #6
 
Praim's Avatar
 
elite*gold: 28
Join Date: Apr 2010
Posts: 2,355
Received Thanks: 439
Mhm, wäre vielleicht eine Möglichkeit :P
Vielleicht könnt ihr mir bei diesem einen Male ja noch so aushelfen^^
Praim is offline  
Old 09/25/2011, 23:28   #7
 
elite*gold: 5
Join Date: May 2007
Posts: 1,019
Received Thanks: 250
Habs eigentlich reineditiert woran es liegt beim ersten Hinsehen.
handsan is offline  
Old 09/25/2011, 23:36   #8


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,117
Received Thanks: 2,436
Kann zwar kaum - garnicht java aber denke es liegt daran.
Das return(denke das letzte) muss weiter nach hinten( weiter hinter den } klammern ).
False is offline  
Reply


Similar Threads Similar Threads
Minecraft Bukkit Plugin frage...
02/25/2011 - Minecraft - 2 Replies
Hi, Gibt es für bukkit ein Plug-In wo man einstellen kann z.b. wenn nacht ist das alle Spieler zu einem Bestimmten Punkt geportet werden? Lg Algaten™
[Frage] Minecraft speed plugin ?
02/18/2011 - Minecraft - 7 Replies
hayy ich wollte mal fragen ob es ein plug für den hmod 134 gibt, der die laufgeschwindigkeit der admins erhöhen kann =))



All times are GMT +1. The time now is 20:40.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.