|
You last visited: Today at 20:40
Advertisement
Minecraft Plugin-Coding Frage
Discussion on Minecraft Plugin-Coding Frage within the Minecraft forum part of the Other Online Games category.
09/25/2011, 22:44
|
#1
|
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:
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:
und im Chat erscheint "Das ist ein Test"
Wäre nett, wenn mir jemand helfen könnte.
Gruß
|
|
|
09/25/2011, 22:54
|
#2
|
elite*gold: 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;
}
}
|
|
|
09/25/2011, 22:55
|
#3
|
elite*gold: 5
Join Date: May 2007
Posts: 1,019
Received Thanks: 250
|
|
|
|
09/25/2011, 23:20
|
#4
|
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
|
|
|
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.
|
|
|
09/25/2011, 23:27
|
#6
|
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^^
|
|
|
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.
|
|
|
09/25/2011, 23:36
|
#8
|
elite*gold: 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 ).
|
|
|
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.
|
|