|
You last visited: Today at 02:52
Advertisement
Kit Plugin
Discussion on Kit Plugin within the Minecraft forum part of the Other Online Games category.
08/30/2014, 10:44
|
#1
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
Kit Plugin
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 sender, Command cmd, String label, String[] args){
Player p = (Player) sender;
if(cmd.getName().equalsIgnoreCase("invkit")) {
inv = p.getPlayer().getServer().createInventory(null, 27, "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(10, istack);
inv.setItem(12, istack2);
inv.setItem(14, istack3);
inv.setItem(16, istack4);
p.getPlayer().openInventory(inv);
}
return false;
}
}
|
|
|
08/30/2014, 10:56
|
#2
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,005
Received Thanks: 2,347
|
1. Falsche Sektion: 
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
|
#3
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
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.
package Kits;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
public class Kits implements Listener {
@EventHandler
public void Inventory(InventoryClickEvent event) {
Player p = (Player) event.getWhoClicked();
ItemStack z1sturmgewaehr = new ItemStack(Material.BOW);
z1sturmgewaehr.addUnsafeEnchantment(Enchantment.AR ROW_DAMAGE, 4);
ItemStack kleberkanone = new ItemStack(Material.BOW);
kleberkanone.addUnsafeEnchantment(Enchantment.ARRO W_FIRE, 3);
ItemStack betonwerfer = new ItemStack(Material.BOW);
betonwerfer.addUnsafeEnchantment(Enchantment.ARROW _KNOCKBACK, 3);
ItemStack footballkanone = new ItemStack(Material.BOW);
footballkanone.addUnsafeEnchantment(Enchantment.AR ROW_INFINITE, 2);
if(event.getInventory().getName().equalsIgnoreCase ("Zombies")) {
event.setCancelled(true);
if(event.getCurrentItem().getType() == Material.BOW) {
p.getInventory().addItem(z1sturmgewaehr);
p.sendMessage("Du hast das Fußsoldatkit gewählt!");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.GLASS_BOTTLE) {
p.getInventory().addItem(kleberkanone);
p.sendMessage("Du hast das Wissenschaftlerkit gewählt");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.PISTON_BASE) {
p.getInventory().addItem(betonwerfer);
p.sendMessage("Du hast das Ingenieurkit gewählt");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.GOLD_BOOTS) {
p.getInventory().addItem(footballkanone);
p.sendMessage("Du hast das Allstarkit gewählt");
event.getView().close();
}
}
}
}
|
|
|
08/30/2014, 11:08
|
#4
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,005
Received Thanks: 2,347
|
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:
|
|
|
08/30/2014, 11:14
|
#5
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
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
|
#6
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,005
Received Thanks: 2,347
|
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
|
#7
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
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
|
#8
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
Minecraft Mods, Textures, Skins & Maps -> Minecraft
#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  geschlossen.
|
|
|
09/02/2014, 20:20
|
#9
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
So fertig ist es aber jett geht der 2. Befehl nicht hier der 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("Plugin gestoppt");
}
public void onEnable()
{
System.out.println("Version 1.0");
getServer().getPluginManager().registerEvents(new Kits(), this);
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
Player p = (Player) sender;
if(cmd.getName().equalsIgnoreCase("zomb")) {
inv = p.getPlayer().getServer().createInventory(null, 27, "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();
istackMeta2.setDisplayName("Wissenschaftler");
istack2.setItemMeta(istackMeta2);
ItemStack istack3 = new ItemStack(Material.PISTON_BASE);
ItemMeta istackMeta3 = istack.getItemMeta();
istackMeta3.setDisplayName("Ingenieur");
istack3.setItemMeta(istackMeta3);
ItemStack istack4 = new ItemStack(Material.GOLD_BOOTS);
ItemMeta istackMeta4 = istack.getItemMeta();
istackMeta4.setDisplayName("All-Star");
istack4.setItemMeta(istackMeta4);
inv.setItem(10, istack);
inv.setItem(12, istack2);
inv.setItem(14, istack3);
inv.setItem(16, istack4);
p.getPlayer().openInventory(inv);
if(cmd.getName().equalsIgnoreCase("plant")) {
inv = p.getPlayer().getServer().createInventory(null, 27, "Pflanzen");
ItemStack istack5 = new ItemStack(Material.CACTUS);
ItemMeta istackMeta5 = istack.getItemMeta();
istackMeta5.setDisplayName("Kaktus");
istack5.setItemMeta(istackMeta5);
ItemStack istack6 = new ItemStack(Material.DOUBLE_PLANT);
ItemMeta istackMeta6 = istack.getItemMeta();
istackMeta6.setDisplayName("Sonnenblume");
istack6.setItemMeta(istackMeta6);
ItemStack istack7 = new ItemStack(Material.SNOW_BALL);
ItemMeta istackMeta7 = istack.getItemMeta();
istackMeta7.setDisplayName("Erbsenkanone");
istack7.setItemMeta(istackMeta7);
ItemStack istack8 = new ItemStack(Material.BLAZE_ROD);
ItemMeta istackMeta8 = istack.getItemMeta();
istackMeta8.setDisplayName("Schnapper");
istack8.setItemMeta(istackMeta8);
inv.setItem(19, istack5);
inv.setItem(21, istack6);
inv.setItem(23, istack7);
inv.setItem(25, istack8);
p.getPlayer().openInventory(inv);
}
}
return false;
}
}
|
|
|
09/02/2014, 20:32
|
#10
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,005
Received Thanks: 2,347
|
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: 
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
|
#11
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
So da es nun doch nicht funktioniert hier alle Codes:
Main:
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;
import Kits.Kits2;
public class PVZGW2 extends JavaPlugin{
private Inventory inv=null;
public void onDisable()
{
System.out.println("Plugin gestoppt");
}
public void onEnable()
{
System.out.println("Version 1.0");
getServer().getPluginManager().registerEvents(new Kits(), this);
getServer().getPluginManager().registerEvents(new Kits2(), this);
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
Player p = (Player) sender;
if(cmd.getName().equalsIgnoreCase("zomb")) {
inv = p.getPlayer().getServer().createInventory(null, 27, "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();
istackMeta2.setDisplayName("Wissenschaftler");
istack2.setItemMeta(istackMeta2);
ItemStack istack3 = new ItemStack(Material.PISTON_BASE);
ItemMeta istackMeta3 = istack.getItemMeta();
istackMeta3.setDisplayName("Ingenieur");
istack3.setItemMeta(istackMeta3);
ItemStack istack4 = new ItemStack(Material.GOLD_BOOTS);
ItemMeta istackMeta4 = istack.getItemMeta();
istackMeta4.setDisplayName("All-Star");
istack4.setItemMeta(istackMeta4);
inv.setItem(10, istack);
inv.setItem(12, istack2);
inv.setItem(14, istack3);
inv.setItem(16, istack4);
p.getPlayer().openInventory(inv);
if(cmd.getName().equalsIgnoreCase("plant")) {
inv = p.getPlayer().getServer().createInventory(null, 27, "Pflanzen");
ItemStack istack5 = new ItemStack(Material.CACTUS);
ItemMeta istackMeta5 = istack.getItemMeta();
istackMeta5.setDisplayName("Kaktus");
istack5.setItemMeta(istackMeta5);
ItemStack istack6 = new ItemStack(Material.DOUBLE_PLANT);
ItemMeta istackMeta6 = istack.getItemMeta();
istackMeta6.setDisplayName("Sonnenblume");
istack6.setItemMeta(istackMeta6);
ItemStack istack7 = new ItemStack(Material.SNOW_BALL);
ItemMeta istackMeta7 = istack.getItemMeta();
istackMeta7.setDisplayName("Erbsenkanone");
istack7.setItemMeta(istackMeta7);
ItemStack istack8 = new ItemStack(Material.BLAZE_ROD);
ItemMeta istackMeta8 = istack.getItemMeta();
istackMeta8.setDisplayName("Schnapper");
istack8.setItemMeta(istackMeta8);
inv.setItem(19, istack5);
inv.setItem(21, istack6);
inv.setItem(23, istack7);
inv.setItem(25, istack8);
p.getPlayer().openInventory(inv);
}
}
return false;
}
}
Kits:
package Kits;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
public class Kits implements Listener {
@EventHandler
public void Inventory(InventoryClickEvent event) {
Player p = (Player) event.getWhoClicked();
ItemStack z1sturmgewaehr = new ItemStack(Material.BOW);
z1sturmgewaehr.addUnsafeEnchantment(Enchantment.AR ROW_DAMAGE, 4);
ItemStack kleberkanone = new ItemStack(Material.BOW);
kleberkanone.addUnsafeEnchantment(Enchantment.ARRO W_FIRE, 3);
ItemStack betonwerfer = new ItemStack(Material.BOW);
betonwerfer.addUnsafeEnchantment(Enchantment.ARROW _KNOCKBACK, 3);
ItemStack footballkanone = new ItemStack(Material.BOW);
footballkanone.addUnsafeEnchantment(Enchantment.AR ROW_INFINITE, 2);
ItemStack nadeln = new ItemStack(Material.BOW);
nadeln.addUnsafeEnchantment(Enchantment.FIRE_ASPEC T, 3);
ItemStack sonne = new ItemStack(Material.SNOW_BALL);
sonne.addUnsafeEnchantment(Enchantment.FIRE_ASPECT , 3);
ItemStack erbse = new ItemStack(Material.SNOW_BALL);
erbse.addUnsafeEnchantment(Enchantment.ARROW_DAMAG E, 6);
ItemStack nichts = new ItemStack(Material.IRON_AXE);
nichts.addUnsafeEnchantment(Enchantment.DAMAGE_ALL , 4);
if(event.getInventory().getName().equalsIgnoreCase ("Zombies")) {
event.setCancelled(true);
if(event.getCurrentItem().getType() == Material.BOW) {
p.getInventory().clear();
p.getInventory().addItem(z1sturmgewaehr);
p.sendMessage("Du hast das Fußsoldatkit gewählt!");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.GLASS_BOTTLE) {
p.getInventory().clear();
p.getInventory().addItem(kleberkanone);
p.sendMessage("Du hast das Wissenschaftlerkit gewählt");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.PISTON_BASE) {
p.getInventory().clear();
p.getInventory().addItem(betonwerfer);
p.sendMessage("Du hast das Ingenieurkit gewählt");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.GOLD_BOOTS) {
p.getInventory().clear();
p.getInventory().addItem(footballkanone);
p.sendMessage("Du hast das Allstarkit gewählt");
event.getView().close();
}
}
}
}
Kits2:
package Kits;
import org.bukkit.Material;
import org.bukkit.enchantments.Enchantment;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack;
public class Kits2 implements Listener{
public class Kits implements Listener {
@EventHandler
public void Inventory(InventoryClickEvent event) {
Player p = (Player) event.getWhoClicked();
ItemStack nadeln = new ItemStack(Material.BOW);
nadeln.addUnsafeEnchantment(Enchantment.FIRE_ASPEC T, 3);
ItemStack sonne = new ItemStack(Material.SNOW_BALL);
sonne.addUnsafeEnchantment(Enchantment.FIRE_ASPECT , 3);
ItemStack erbse = new ItemStack(Material.SNOW_BALL);
erbse.addUnsafeEnchantment(Enchantment.ARROW_DAMAG E, 6);
ItemStack nichts = new ItemStack(Material.IRON_AXE);
nichts.addUnsafeEnchantment(Enchantment.DAMAGE_ALL , 4);
if(event.getInventory().getName().equalsIgnoreCase ("Pflanzen"))
event.setCancelled(true);
if(event.getCurrentItem().getType() == Material.CACTUS) {
p.getInventory().clear();
p.getInventory().addItem(nadeln);
p.sendMessage("Du hast das Katuskit gewählt!");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.DOUBLE_PLANT) {
p.getInventory().clear();
p.getInventory().addItem(sonne);
p.sendMessage("Du hast das Sonnenblumen gewählt");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.SNOW_BALL) {
p.getInventory().clear();
p.getInventory().addItem(erbse);
p.sendMessage("Du hast das Erbsenkanonenkit gewählt");
event.getView().close();
}else if(event.getCurrentItem().getType() == Material.BLAZE_ROD) {
p.getInventory().clear();
p.getInventory().addItem(nichts);
p.sendMessage("Du hast das Schnapperkit gewählt");
event.getView().close();
}
}
}
}
plugin.yml
name: PVZGW
version: 1.0
author: DieRapschweine1
main: Main.PVZGW2
commands:
zomb:
description: Zombieteam
usage:
plant:
descrption: Planzenteam
usage:
|
|
|
09/17/2014, 21:09
|
#12
|
Administrator
elite*gold: 26516
Join Date: May 2011
Posts: 21,005
Received Thanks: 2,347
|
Bitte poste alle Codes hier:  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
|
#13
|
elite*gold: 2
Join Date: Jan 2014
Posts: 272
Received Thanks: 32
|
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.
 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
|
#14
|
Moderator
elite*gold: 558
Join Date: Feb 2010
Posts: 6,546
Received Thanks: 1,418
|
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) {
}
}
}
}
Kits.Kits
Code:
public class Kits implements Listener {
@EventHandler
public void Inventory(InventoryClickEvent event) {
if(event.getInventory().getName().equalsIgnoreCase ("Zombies")) {
event.setCancelled(true);
if(event.getCurrentItem().getType() == Material.BOW) {
} else if(event.getCurrentItem().getType() == Material.GLASS_BOTTLE) {
} else if(event.getCurrentItem().getType() == Material.PISTON_BASE) {
} else if(event.getCurrentItem().getType() == Material.GOLD_BOOTS) {
}
}
}
}
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
|
#15
|
elite*gold: 0
Join Date: Aug 2014
Posts: 12
Received Thanks: 0
|
Ich sehe das ich Klammern vergessen hab aber mehr nicht.
|
|
|
All times are GMT +1. The time now is 02:52.
|
|