Kit Plugin

08/30/2014 10:44 DieRapschweine1#1
So ich habe nun das Kit Plugin fertig aber ich wollte eigentlich 2 virtuelle Inventare haben .Reicht es wenn ich das erste kopiere oder was dann.
Hier ist der fertige Code:
PHP Code:
package Main;

import org.bukkit.Material;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;

import Kits.Kits;

public class 
PVZGW2 extends JavaPlugin{
    
    private 
Inventory inv=null;     
    
    
    public 
void onDisable()
    {
    
System.out.println("Version 1.0");
    }
    
    public 
void onEnable()
    {
        
System.out.println("Plugin gestoppt");
        
getServer().getPluginManager().registerEvents(new Kits(), this);
    }
    
    public 
boolean onCommand(CommandSender senderCommand cmdString labelString[] args){
    
        
Player p = (Playersender;
        
        if(
cmd.getName().equalsIgnoreCase("invkit")) {
            
            
inv =  p.getPlayer().getServer().createInventory(null27"Zombies");
            
            
ItemStack istack = new ItemStack(Material.BOW);
            
ItemMeta istackMeta istack.getItemMeta();
            
istackMeta.setDisplayName("Fußsoldat");
            
istack.setItemMeta(istackMeta);
            
            
ItemStack istack2 = new ItemStack(Material.GLASS_BOTTLE);
            
ItemMeta istackMeta2 istack.getItemMeta();
            
istackMeta.setDisplayName("Wissenschaftler");
            
istack.setItemMeta(istackMeta2);
            
            
ItemStack istack3 = new ItemStack(Material.PISTON_BASE);
            
ItemMeta istackMeta3 istack.getItemMeta();
            
istackMeta.setDisplayName("Ingenieur");
            
istack.setItemMeta(istackMeta3);
            
            
ItemStack istack4 = new ItemStack(Material.GOLD_BOOTS);
            
ItemMeta istackMeta4 istack.getItemMeta();
            
istackMeta.setDisplayName("All-Star");
            
istack.setItemMeta(istackMeta4);
            
            
            
            
inv.setItem(10istack);
            
inv.setItem(12istack2);
            
inv.setItem(14istack3);
            
inv.setItem(16istack4);
            
            
            
p.getPlayer().openInventory(inv);
            
        
        }
    
        return 
false;

        
        
    }

08/30/2014 10:56 lordsill#2
1. Falsche Sektion: [Only registered and activated users can see links. Click Here To Register...]
2. Kannst du entweder kopieren und daraus einen neuen befehl machen (anstatt "/invkit") [zusätzlich dann auch das Kit-Inventar umbenennen und die Events erweitern]
3. BTW: Du hast onEnable und onDisable wohl vertauscht. Denn wenn du den Server startest, wird dir das Plugin sagen, dass es gestoppt wird, und wenn du ihn bspw. beendest, bekommst du die Versionsnummer...
08/30/2014 11:04 DieRapschweine1#3
Ok und ab wann muss ich kopieren und wenn ich es gestartet habe und den Befehl ausführe kommt bei jeden Fußsoldat und die Items sind nicht benannt.Hier der Kits Code.
08/30/2014 11:08 lordsill#4
Hast du das selbst programmiert oder nur iwo abgetippt? Denn ich befürchte gerad das 2.
Dazu würde ich dir dann eher empfehlen, erstmal dich mit Java auseinander zu setzen. Ansonsten wird das nix bringen, wenn wir dir alles machen => daraus lernt niemand
Edit: z.b. hier: [Only registered and activated users can see links. Click Here To Register...]
08/30/2014 11:14 DieRapschweine1#5
Sozusagen nichts kopiert ich habe es zwar mit einen Tutorial programmiert aber viel umfangreicher.Und ja ich habe erst mit Java angefangen.Ich bin Co-Owner auf nen Server und wollte halt ein eigenes Kit Plugin für unseren Server rausbringen.
08/30/2014 11:20 lordsill#6
Würde sich dafür nicht schon eins der fertigen Kit-Plugins anbieten?
Und Java musst du auch nicht alles direkt können, aber zumindest die Grundlagen sollte man schon können, sonst wirst du wirklich immer wieder auf Probleme stoßen
und btw. hast du auch noch fehler, die sogar im video richtig gemacht wurden.
08/30/2014 11:33 DieRapschweine1#7
Ja ich kenne dieses Video und habe es bis zum Ende geschaut.Auch Teil 2.Ich würde nun gern Wissen ab wann ich den Code kopieren muss .
08/30/2014 13:36 ComputerBaer#8
#moved

Hättest du es verstanden, würdest du diese Frage nicht stellen ...

Du brauchst den Coode von if(cmd.getName().equalsIgnoreCase("invkit")) {
bis }

Edit:
Und beim nächsten Mal poste bitte in der richtigen Sektion und verwende, sofern schon vorhanden, dein altes Thema zu dem Problem. Ich habe jetzt [Only registered and activated users can see links. Click Here To Register...] geschlossen.
09/02/2014 20:20 DieRapschweine1#9
So fertig ist es aber jett geht der 2. Befehl nicht hier der Code:
09/02/2014 20:32 lordsill#10
1. Doppelposts sind nicht erlaubt
Quote:
Originally Posted by S.A.L.O.M.O.N.
Doppelposten oder das Pushen von wirklich veralteten Threads nur zum Spaß wird mit einer Infraction geahndet (einer Warning beim ersten Mal)
Quelle: [Only registered and activated users can see links. Click Here To Register...]
2. Wurde der neue Befehl auch in der plugin.yml eingetragen? wurden auch das InventoryClickEvent um das neue Inventar erweitert?
3. Die } bei der if Anweisung von dem Befehl zomb ist iwie jetzt zu weit nach unten gerutscht. diese sollte vor der neuen if anweisung zum befehl plant sein, nicht dahinter
09/17/2014 19:56 DieRapschweine1#11
So da es nun doch nicht funktioniert hier alle Codes:
Main:

Kits:


Kits2:

plugin.yml
09/17/2014 21:09 lordsill#12
Bitte poste alle Codes hier: [Only registered and activated users can see links. Click Here To Register...] und verlinke sie uns dann anschließend. So wird sich keiner die Mühe machen, den unformatierten Code nach Fehlern zu durchsuchen
09/17/2014 22:34 maxmax37#13
Also ich hab mir jetzt nur mal die plugin.yml angeguckt. So wie sie hier ist, ist das klar, dass das Plugin nicht funktioniert.
Du musst auf die Einrückungen achten (vlt. hast du es ja auch) und natürlich auf Rechtschreibung. Also descrption geht schon mal nicht.

[Only registered and activated users can see links. Click Here To Register...] So sollte das eher stimmen. Bei main musst du das halt richtig eintragen.

website und description kannst du auch weglassen am Anfang. Erforderlich sind nur name, version und main.
09/18/2014 00:52 ComputerBaer#14
Wenn ich mal über die schlechte Programmierung und Fehleranfälligkeit hinwegsehe, finde ich diesen Code:

Main.PVZGW2
Code:
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {

    if(cmd.getName().equalsIgnoreCase("zomb")) { // Start "Zombies"
        //# Zombie Inventar erstellen und öffnen
        
        if(cmd.getName().equalsIgnoreCase("plant")) { // Start "Pflanzen"
            //# Pflanzen Inventar erstellen und öffnen
            
        } // Ende "Pflanzen"
        
    } // Ende "Zombies"
    
}
Kits.Kits2
Code:
public class Kits2 implements Listener {
    
    public class Kits implements Listener {
        
        @EventHandler
        public void Inventory(InventoryClickEvent event) {
            
            if(event.getInventory().getName().equalsIgnoreCase ("Pflanzen"))
                event.setCancelled(true);
            
            if(event.getCurrentItem().getType() == Material.CACTUS) {
            } else if(event.getCurrentItem().getType() == Material.DOUBLE_PLANT) {
            } else if(event.getCurrentItem().getType() == Material.SNOW_BALL) {
            } else if(event.getCurrentItem().getType() == Material.BLAZE_ROD) {
            }
        }
        
    }
}

Jetzt will ich, dass du dir einmal genau überlegst, was da steht, und ich hoffe, dass es dir hier niemand vorsagt.

An alle richtigen Programmierer, die hier sind: Verratet ihm bitte nicht, wo der Fehler in diesen Codestücken ist! Er wird es nur verstehen, wenn er es selbst findet.
09/18/2014 19:11 DieRapschweine1#15
Ich sehe das ich Klammern vergessen hab aber mehr nicht.