• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

[Plugins schreiben] Brauch mal eure Hilfe

Status
Für weitere Antworten geschlossen.

PROgramm

Redstoneengineer
Registriert
21 Juni 2012
Beiträge
40
Diamanten
0
Hey,

habe die Tage angefangen, mich mit Java, Eclipse und Plugins zu beschäftigen.

Jetzt brauch ich eure Hilfe:


package me.rBxxx.ZDC;

import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class *****extends JavaPlugin {

PluginManager manager = this.getServer().getPluginManager();


public void onEnable(){
System.out.println("[*****]-Plugin erfolgreich aktiviert");
System.out.println("[*****]-by *****");
}

public void onDisable(){
System.out.println("[*****]-Plugin erfolgreich deaktiviert");
}

public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args){
boolean erfolg = false;
Player p = (Player)sender;
if(cmd.getName().equalsIgnoreCase("*****")){
if(args.length == 0){
p.sendMessage(ChatColor.GREEN + "Dies ist ein Plugin von *****");
float health = p.getHealth();
p.sendMessage("Deine Gesundheit " + health);
p.setHealth(10);
p.sendMessage("Du wurdest geheilt");

erfolg = true;


} else {
erfolg = false;

}
}
return erfolg;


}


}


Soo, die ***** stehen im richtigen Script nicht da, sondern der Servername, und dies soll ja keine Fremdwerbung sein ^

Meine eigentliche Frage:


public void EventRegister(){{ .....

wo muss das hin ?

Denn ich habs vor die letzte Klammer gesetzt und wenn ich dann eingebe:

manager.RegisterEvent(Event.Type.BLA BLA BLA)...
wird mir das Type nicht angezeigt, da kommt nur .this... -.-'

Kann mir mal jemand helfen


Mfg
 

Benni1000

Ehemaliges Teammitglied
Ehem. Teammitglied
Registriert
4 Mai 2012
Beiträge
1.396
Diamanten
0
Ich schreib dir das ganze ding neu, und schöner.
Edit:
Code:
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class HealPl extends JavaPlugin {
public void onEnable(){
System.out.println("[Heal]-Plugin erfolgreich aktiviert");
System.out.println("[Heal]-by ");
}

public void onDisable(){
System.out.println("[Heal]-Plugin erfolgreich deaktiviert");
}

public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args){
    if(cmd.getName().equalsIgnoreCase("heal")) {
        if(sender instanceof Player) {
            Player p = Bukkit.getServer().getPlayer(sender.getName());
            p.sendMessage(ChatColor.GREEN + "Dies ist ein Plugin von *****");
            p.sendMessage("Deine Gesundheit " + p.getHealth());
            p.setHealth(20); //Achtung setze es auf 20 das sind 10 Halbe Herzen also das Maximum
            p.sendMessage("Du wurdest geheilt");
            return true;
        }
        else {
            sender.sendMessage("Nur Spieler können das ausführen!");
            return true;
        }
    }
    return false;
}
}

manager.RegisterEvent(Event.Type.BLA BLA BLA)...
Wozu brauchst du das?
Du benutzt nur das OnCommand event.
Alternativ kannst du auch mein Tutorial lesen: [Biete][HowTo] Bukkit Plugins Programmieren
 

PROgramm

Redstoneengineer
Registriert
21 Juni 2012
Beiträge
40
Diamanten
0
Benni1000' schrieb:
Ich schreib dir das ganze ding neu, und schöner.
Edit:
Code:
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;

public class HealPl extends JavaPlugin {
public void onEnable(){
System.out.println("[Heal]-Plugin erfolgreich aktiviert");
System.out.println("[Heal]-by ");
}

public void onDisable(){
System.out.println("[Heal]-Plugin erfolgreich deaktiviert");
}

public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args){
    if(cmd.getName().equalsIgnoreCase("heal")) {
        if(sender instanceof Player) {
            Player p = Bukkit.getServer().getPlayer(sender.getName());
            p.sendMessage(ChatColor.GREEN + "Dies ist ein Plugin von *****");
            p.sendMessage("Deine Gesundheit " + p.getHealth());
            p.setHealth(20); //Achtung setze es auf 20 das sind 10 Halbe Herzen also das Maximum
            p.sendMessage("Du wurdest geheilt");
            return true;
        }
        else {
            sender.sendMessage("Nur Spieler können das ausführen!");
            return true;
        }
    }
    return false;
}
}

manager.RegisterEvent(Event.Type.BLA BLA BLA)...
Wozu brauchst du das?
Du benutzt nur das OnCommand event.
Alternativ kannst du auch mein Tutorial lesen: [Biete][HowTo] Bukkit Plugins Programmieren
Weil ich als "Vorlage" ein Video habe...

Außerdem kann man ja mehrere Events machen, statt nur das OnCommand...

"LinkVorlage"
 

De_nni_FREAKY

Minecrafter
Registriert
21 Juni 2012
Beiträge
1
Diamanten
0
ich weiß es past nicht zum thema aber ,wen ich in einem server bin und mich dan anmelden muss soll ich dan den register und pasword von hier nemen oder was :?: :?: :?: MinecraftSheep MinecraftPig MinecraftNotch MinecraftMooshroom MinecraftMagmacube MinecraftGhast MinecraftEnderman MinecraftDragon MinecraftCreeper MinecraftCow MinecraftChicken MinecraftChar MinecraftCavespider MinecraftBlaze :?: :?: :?: :?:
 
C

Cabraca

Guest
Events sind eigentlich relativ einfach.

Zuerst erstellst du eine Listener Klasse. Wie du die nennst ist egal.

public class LoginListener implements Listener {
}

Da packst du dann eine Funktion rein in der dein Code rein kommt,welcher bei dem Event ausgeführt wird. Wichtig ist hier dass die Klasse das "Listener"-Interface implementiert:

@EventHandler(priority = EventPriority.HIGH)
public void highLogin(PlayerLoginEvent event) { // Das ist zum beispiel ein login event.
// Some code here
}

@EventHandler sagt dem Eventhandler, dass er sich die funktion anschauen soll. Wichtig ist, dass du das event als parameter übergibst. Die Priorität regelt, in welcher reihenfolge die funktionen abgearbeitet werden. Je höher die Prio ist desto früher wird die funktion aufgerufen. Gibst du nur @EventHandler an wird die normale priorität verwendet

Dein Listener sieht jetzt so aus:
import org.bukkit.event.Listener;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.player.PlayerLoginEvent;

public class LoginListener implements Listener {

@EventHandler(priority = EventPriority.HIGH)
public void highLogin(PlayerLoginEvent event) {
// Some code here
}
}

Damit ist deine Listenerklasse fertig. Jetzt musst du die Listenerklasse und alle darin enthaltenen Events nurnoch anmelden bei bukkit. Das machst du normalerweise in der "onEnable" Funktion

public void onEnable() {
getServer().getPluginManager().registerEvents(new LoginListener(), this);
}

Und schon sollte alles laufen.

Das steht aber alles auch genauso in Bennis link.
In den JavaDocs (http://jd.bukkit.org/apidocs/) findest du alle möglichen Events.

MFG
 
Status
Für weitere Antworten geschlossen.
Oben