Register for your free account! | Forgot your password?

Go Back   elitepvpers > Other Online Games > Minecraft
You last visited: Today at 07:26

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

Advertisement



Bukkit programmieren: Beim Command andere Methode ausführen

Discussion on Bukkit programmieren: Beim Command andere Methode ausführen within the Minecraft forum part of the Other Online Games category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2016
Posts: 15
Received Thanks: 0
Bukkit programmieren: Beim Command andere Methode ausführen

Code:
package me.gabikleebi02.region;

import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;

public class Region implements CommandExecutor{
	
     [MENTION=295804]Override[/MENTION]
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		
		if(!(sender instanceof Player)){
			sender.sendMessage("§cDu musst ein Spieler sein!");
			return true;
		}
		
		else{	
			
			//Hier soll die Methode inRegion aufgerufen werden
			
		}
		
		return false;
	}

		static void inRegion(Player p, String regionname) {
			
			Plugin worldguard = p.getServer().getPluginManager().getPlugin("WorldGuard");
			WorldGuardPlugin wg = (WorldGuardPlugin) worldguard;
			
			String worldname = p.getWorld().getName();
			World world = Bukkit.getWorld(worldname);
			
			ProtectedRegion rg = wg.getRegionManager(world).getRegion(regionname);
			wg.getRegionManager(world).getRegion(regionname);
			
			Player m = (Player) rg.getMembers();
			Player o = (Player) rg.getOwners();
			
			if(p.getName() == m.getName() || p.getName() == o.getName()){
				p.sendMessage("Hier muss alles für die RCD hin!");
				
			}
			else if(p.hasPermission("rcd.getall")){
				p.sendMessage("Hier muss alles für die RCD hin!");
			}
			else{
				p.sendMessage("Du musst in einer Region sein, in der du auch Rechte hast!");
		}	
	}
}
Ich kriege die Methode dort nicht aufgerufen, weil ich nicht weiß, wie man den
Player und den String mit übergibt.
GabiKleebi02 is offline  
Old 12/29/2016, 00:29   #2


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by GabiKleebi02 View Post
Code:
package me.gabikleebi02.region;

import org.bukkit.Bukkit;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.Plugin;

import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;

public class Region implements CommandExecutor{
    
     [MENTION=295804]Override[/MENTION]
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
        
        if(!(sender instanceof Player)){
            sender.sendMessage("§cDu musst ein Spieler sein!");
            return true;
        }
        
        else{    
            
            //Hier soll die Methode inRegion aufgerufen werden
            
        }
        
        return false;
    }

        static void inRegion(Player p, String regionname) {
            
            Plugin worldguard = p.getServer().getPluginManager().getPlugin("WorldGuard");
            WorldGuardPlugin wg = (WorldGuardPlugin) worldguard;
            
            String worldname = p.getWorld().getName();
            World world = Bukkit.getWorld(worldname);
            
            ProtectedRegion rg = wg.getRegionManager(world).getRegion(regionname);
            wg.getRegionManager(world).getRegion(regionname);
            
            Player m = (Player) rg.getMembers();
            Player o = (Player) rg.getOwners();
            
            if(p.getName() == m.getName() || p.getName() == o.getName()){
                p.sendMessage("Hier muss alles für die RCD hin!");
                
            }
            else if(p.hasPermission("rcd.getall")){
                p.sendMessage("Hier muss alles für die RCD hin!");
            }
            else{
                p.sendMessage("Du musst in einer Region sein, in der du auch Rechte hast!");
        }    
    }
}
Ich kriege die Methode dort nicht aufgerufen, weil ich nicht weiß, wie man den
Player und den String mit übergibt.
Evtl solltest du erst einmal die Grundkenntnisse erlernen bevor du ein Plugin schreiben willst.
Habe nie viel mit Java gearbeitet aber eine static Function solltest du mit 'class.method(args)' nutzen können.
Sprich bei dir Region.inRegion(player, string)
False is offline  
Old 12/29/2016, 01:43   #3
 
elite*gold: 0
Join Date: Dec 2016
Posts: 15
Received Thanks: 0
Wenn ich das mache, funktioniert dies nicht und es kommt nur die Fehlermeldung "Player cannot be resolved to a variable" bzw. "String cannot be resolved to a variable". Muss ich das überhaupt mit angeben, weil ich will ja nur bei einem die Methode abrufen, sodass sie ausgeführt wird. Oder muss ich das anders machen als mit einem void?
GabiKleebi02 is offline  
Old 12/29/2016, 04:22   #4
Moderator


 
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
Quote:
Originally Posted by GabiKleebi02 View Post
Ich kriege die Methode dort nicht aufgerufen, weil ich nicht weiß, wie man den
Player und den String mit übergibt.
Quote:
Originally Posted by GabiKleebi02 View Post
Wenn ich das mache, funktioniert dies nicht und es kommt nur die Fehlermeldung "Player cannot be resolved to a variable" bzw. "String cannot be resolved to a variable". Muss ich das überhaupt mit angeben, weil ich will ja nur bei einem die Methode abrufen, sodass sie ausgeführt wird. Oder muss ich das anders machen als mit einem void?
Dann solltest du wirklich mal die Grundlagen lernen. Wie übergibt man einer Methode das was sie haben will? Ich nehme mal an du hast "inRegion" auch nicht selber geschrieben, oder?

Machen wir mal einen kurzen Ausflug zu den Java Grundlagen. Nehmen wir uns also mal diese tolle Methode:
Code:
public static void meineMethode(int zahl, String text) {
    // irgendeine tolle Funktion!
}
Jetzt wollen wir die Aufrufen, dazu brauchen wir einen Integer und einen String. Also wie geht das?
Code:
meineMethode(); // Nein, da fehlt doch alles
meineMethode(int, String); // Nein, das sind doch nur die Datentypen

meineMethode(15, "Test"); // So würde es gehen

int x = 789;
String str = "Hallo";
meineMethode(x, str); // So auch
Kommst du selber drauf wie du deine Methode aufrufst oder muss ich dir die Lösung zeigen?
ComputerBaer is offline  
Old 12/30/2016, 18:55   #5
 
elite*gold: 0
Join Date: Dec 2016
Posts: 15
Received Thanks: 0
Hab jetzt alles ein bisschen umgeschrieben:


Danke für eure Hilfe!
GabiKleebi02 is offline  
Reply

Tags
bukkit, bukkit programmieren


Similar Threads Similar Threads
Brauche hilfe beim Programmieren eines Bukkit-Plugins
09/22/2013 - Private Server - 1 Replies
Hallo! Ich bin lerne seit ner Woche, das Programmieren in Java. Genauer gesagt: Bukkit-Server Plugins programmieren. Und habe mir überlegt ich könnte ein MiniGame programmieren. Wenn hier Jmd. ist, der mir ein wenig helfen könnte (Als Belohnung könnte ich einen Rang auf meinem Server "Developer" erstellen und geben) bitte einfach in diesem Thread oder per PN melden. Brauche auch nur eine Starthilfe. ^^ Dann noch eine 2. kleine Frage die mir Probleme macht: Ich habe ein Plugin...
[Bukkit] Programmieren Zufall
05/03/2013 - Minecraft - 11 Replies
Hii, ich habe eine Liste mit Item ID's und nun möchte ich, dass ein zufälliges Item dem Spieler gegeben wird. Wie kann man das Umsetzen. Freue mich auf Antworten :cool:
[Bukkit] Programmieren Tab
02/15/2013 - Minecraft - 1 Replies
man kann ja mit p.setPlayerListName("§6"+ p.getName()); den Tab Namen und Farbe ändern. Wenn jetzt aber ein Spieler mit 15 Satzzeiche Joint und dazu die 2 Zeichen vom Farbcode, sind es insgesamt 17. Aber es darf ja nur 16 haben und deshalb kommt ne Fehlermeldung in der Konsole. Wie kann ich, wenn es mehr als 16 Zeichen hat es so verkürzen, dass es nur noch 16 hat. Freue mich über schnelle Antworten.
[Methode]Lvln mit M2Bob in andere Methode
08/30/2012 - Metin2 Guides & Templates - 24 Replies
Hey leute Das ist mein Erster TuT Also am Anfang startet ihr M2bob Schreibt eine Ansage z.B: !Wer lvlt mich in OTM hab auch umhänge Euch pnt einer und will euch lvln ihr trefft euch irgendwo bei OTM du fragst ihn dann welches lvl er ist (Er sollte Mindestens lvl 40 sein mit Kg) Der nimmt dich in GRP
Minecraft Bukkit Programmieren
08/11/2011 - Technical Support - 5 Replies
HeyHo, kann mir jmd. zeigen wie ich am besten ein Plugin erstelle, das für Bukkit server orientieren möchte ich mich, das ich ein Remote Redstone Plugin erstelle Mfg .NoThx Nachtrag:



All times are GMT +1. The time now is 07:28.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.