Bukkit Command zahl zu lange?

Hallo. Ich programmiere momentan ein Plugin, wo ich mir werte in eine Datenbank setze. Er funktioniert wunderbar. Wenn die ziffer die ich aber angene über 10 kommt, wird folgender fehler ausgeworfen:
[10:32:28 ERROR]: null

org.bukkit.command.CommandException: Unhandled exception executing command 'pixel' in plugin CoinSystem v0.0.0

    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]

    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]

    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]

    at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1399) [spigot.jar:git-Spigot-dcd1643-e60fc34]

    at

    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_281]

    at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_281]

    at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [spigot.jar:git-Spigot-dcd1643-e60fc34]

    at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [spigot.jar:git-Spigot-dcd1643-e60fc34]

    at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [spigot.jar:git-Spigot-dcd1643-e60fc34]

    at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [spigot.jar:git-Spigot-dcd1643-e60fc34]

    at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [spigot.jar:git-Spigot-dcd1643-e60fc34]

    at java.lang.Thread.run(Unknown Source) [?:1.8.0_281]

Caused by: java.lang.NumberFormatException: For input string: "11111111111"

    at java.lang.NumberFormatException.forInputString(Unknown Source) ~[?:1.8.0_281]

    at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_281]

    at java.lang.Integer.parseInt(Unknown Source) ~[?:1.8.0_281]

    at de.lvkasdev.coinsystem.commands.CoinCommand.onCommand(CoinCommand.java:39) ~[?:?]

    at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot.jar:git-Spigot-dcd1643-e60fc34]

    ... 15 moreMein Code:...else if (args[0].equalsIgnoreCase("add")) {
      if (player.hasPermission("coins.add")) {
      if (args.length == 3) {
         current = Bukkit.getPlayer(args[1]);
         uuid = current.getUniqueId();
         if (MySQLCoins.isUserExisting(uuid)) {
            MySQLCoins.update(uuid, Integer.parseInt(args[2]), false);
            player.sendMessage("§c§lPixel §8| §7Du hast dem Spieler §c" + current.getName() + "§7 eine anzahl von §c" + Integer.parseInt(args[2]) + "§7 hinzugefügt");
         } else {
            player.sendMessage("§c§lPixel §8| §7Der Spieler §c" + current.getName() + "§7 ist nicht in der Datenbank!");
         }
      } else {
         player.sendMessage("§c§lPixel §8| §7Bitte benutze §c/pixel add <player> <amount>");
      }
   } else {
      player.sendMessage(Main.NOPERM);
   }
}
Programmieren, Java, Minecraft, Bukkit
1 Antwort
Ich programmiere gerade ein Minecraft Plugin, womit man mehrere Welten auf einem Server hat. Ich komme nicht weiter, könnt ihr mir helfen?

Ich programmiere gerade ein Minecraft Plugin, womit man mehrere Welten auf einem Server hat. Die Cmds sind /world create <NAME> [SEED] und /world tp <NAME>. Aber komme nicht weiter!
Ich weis nicht wie ich den Namen der Welt angebe, und ihn im /world tp <NAME> wieder gebe um mich hinzuteleportieren!
HIER

 package de.milan.test.commands;

import org.bukkit.Bukkit;
import org.bukkit.WorldCreator;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class WorldCommand implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player) {
            Player player = (Player) sender;
            if(player.hasPermission("test.world")) {
                if(args.length == 0) {
                    player.sendMessage("§7Die Welt wird nun vorbereitet");
                } else if (args[0].equalsIgnoreCase("tp")) {
                     if (args.length == 2)
                         if (Bukkit.getWorld(args[1]) != null) {
                             player.teleport(Bukkit.getWorld(args[1]).getSpawnLocation());
                             }
                             
                        }
                } if (args[0].equalsIgnoreCase("create")) {
                     if (args.length == 2) {
                         WorldCreator creator = new WorldCreator(args[1]);
                         
                         if (args.length >= 3) {
                     creator.seed(Long.parseLong(args[2]));
                         }
                         
                         player.sendMessage("§7Die Welt wird nun erstellt...");
                         Bukkit.createWorld(creator);
                         player.sendMessage("§aDie Welt wurde erstellt");
                     
                     }
            }
            
        }
        return false;
    }
}

Computer, Minecraft, Minecraft Server, Bukkit, Spigot, Minecraft plugin, Bukkit-Plugin, Spigot Plugin, Minecraft Plugins programmieren
1 Antwort
Ich komme nicht weiter, mit meinem Plugin! Könnt ihr mir helfen?

Ich bin dabei ein Plugin zu Programmieren und bin noch "Anfänger". Ich will ein Plugin programmieren womit man sich mehrere Welten erstellen kann, mit /world create <name> [seed] will ich welten generieren! Ich weiss nicht genau wie ich dass mit den Namen machen soll! Hier---
package de.milan.test.commands;

package de.milan.test.commands;

import org.bukkit.Bukkit;
import org.bukkit.WorldCreator;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class WorldCommand implements CommandExecutor {

    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if(sender instanceof Player) {
            Player player = (Player) sender;
            if(player.hasPermission("test.world")) {
                if(args.length == 0) {
                    player.sendMessage("§7Die Welt wird nun vorbereitet");
                } else if (args[0].equalsIgnoreCase("tp")) {
                     if (args.length == 2)
                         if (Bukkit.getWorld(args[1]) != null) {
                             player.teleport(Bukkit.getWorld(args[1]).getSpawnLocation());
                             }
                             
                        }
                } if (args[0].equalsIgnoreCase("create")) {
                     if (args.length == 2) {
                         WorldCreator creator = new WorldCreator(args[1]);
                         
                         if (args.length >= 3) {
                     creator.seed(Long.parseLong(args[2]));
                         }
                         
                         player.sendMessage("§7Die Welt wird nun erstellt...");
                         Bukkit.createWorld(creator);
                         player.sendMessage("§aDie Welt wurde erstellt");
                     
                     }
            }
            
        }
        return false;
    }
}




Könnt ihr mir weiterhelfen??? BITTE!!!!

Computer, Programmieren, Minecraft, Coding, Bukkit, Spigot, Plugin Programmieren, Minecraft Plugins programmieren
1 Antwort
Wieso wird mein Scoreboard nicht angezeigt?
	  public void setScoreboard(Player p) {
		    ScoreboardManager sm = Bukkit.getScoreboardManager();
		    Scoreboard board = sm.getNewScoreboard();
		    Objective o = board.registerNewObjective("test", "dummy");
		    o.setDisplaySlot(DisplaySlot.SIDEBAR);
		    o.setDisplayName(cfg.getString("Displayname"));
		    o.getScore("§a   ").setScore(10);
		    o.getScore("§fMap").setScore(9);
		    o.getScore("§d" + p.getWorld().getName()).setScore(8);
		    o.getScore("§e    ").setScore(7);
		    o.getScore("§fKills:").setScore(6);
		    o.getScore("§e"+ p.getStatistic(Statistic.PLAYER_KILLS)).setScore(5);
		    o.getScore("§f    ").setScore(4);
		    o.getScore("§fTeams:" ).setScore(3);
		    o.getScore("§aERLAUBT!").setScore(2);
		    o.getScore("§1   ").setScore(1);
		    o.getScore("§eMade by KoCoLP!").setScore(0);
		    p.setScoreboard(board);


		  }
		  
		  @EventHandler
		  public void onJoin1(PlayerJoinEvent e) {
		    (new BukkitRunnable() {
		        public void run() {
		          for (Player all : Bukkit.getOnlinePlayers())
		            GunGame.this.setScoreboard(all); 
		        }
		      }).runTaskLater((Plugin)this, 1L);
		  }
		  
		  @EventHandler
		  public void onQuit2(PlayerQuitEvent e) {
		    (new BukkitRunnable() {
		        public void run() {
		          for (Player all : Bukkit.getOnlinePlayers())
		            GunGame.this.setScoreboard(all); 
		        }
		      }).runTaskLater((Plugin)this, 1L);
		  }
		  
		  @EventHandler
		  public void onDeath3(PlayerDeathEvent e) {
		    for (Player all : Bukkit.getOnlinePlayers())
		      GunGame.this.setScoreboard(all); 
		  }
	


Minecraft, Coding, developer, Bukkit, scoreboard, Spigot
1 Antwort
Spigot 1.12.2 InventoryClickEvent funktioniert nicht?

Hallo Leute, ich habe gerade eben ein Spigot 1.12.2 Plugin programmiert und musste feststellen dass das InventoryClickEvent nicht funktioniert und suche daher nach Hilfe.

Der Code:

package de.freundesgame.crates.events;


import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.InventoryClickEvent;


import de.freundesgame.crates.utils.TextUtils;


public class InventoryClickListener implements Listener {
	
	@EventHandler
	public void onInventoryClickEvent(final InventoryClickEvent event) {
		final Player player = (Player) event.getWhoClicked();
		
		final String title = TextUtils.getPrefix() + "§8Crate Menu";
		
		if(event.getClickedInventory().getTitle() != title) return;
		
		switch (event.getCurrentItem().getItemMeta().getDisplayName()) {
		case "§7Schließen":
			player.closeInventory();
			break;


		case "§a§lEMERALD Kiste":	
			event.setCancelled(true);
			break;
		default:
			event.setCancelled(true);
			break;
		}
		
	}


}


Der Code (Main Klasse):

package de.freundesgame.crates;


import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;


import de.freundesgame.crates.events.InventoryClickListener;
import de.freundesgame.crates.utils.CrateMenu;


public class FGCrates extends JavaPlugin implements CommandExecutor {


	private static FGCrates instance;
	
	@Override
	public void onEnable() {
		instance = this;
		
		Bukkit.getPluginManager().registerEvents(new InventoryClickListener(), this);
		
		getCommand("crate").setExecutor(this);
		
	}
	
	@Override
	public void onDisable() {


	}


	public static FGCrates getInstance() {
		return instance;
	}


	@Override
	public boolean onCommand(CommandSender arg0, Command arg1, String arg2, String[] arg3) {
		final Player player = (Player) arg0;
		
		player.openInventory(new CrateMenu().getCratMenu());
		
		return false;
	}


	
}

So habe ich eigentlich immer das InventoryClickEvent benutzt so dass man die Items nicht herraus nehmen kann.

Danke im Vorraus an alle!

Programmieren, Java, Minecraft, Bukkit, Spigot, Spigot Plugin
1 Antwort
Bukkit Error: java.lang.StackOverflowError: null?

Hey Leute!
Ich hab ein Problem:

Main.java

package main;


import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.UUID;


import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.plugin.java.JavaPlugin;


import listener.JoinQuit;
import listener.SneakJump;


public class Main extends JavaPlugin{
	
	public static String prefix = "§7[§6Among Us§7] ";
	private static Main instance;
	public static File file;
	public static YamlConfiguration cfg;
	public static ArrayList<?> join_order;
	public static HashMap<UUID, String> allplayers = new HashMap<UUID, String>();
	
	@SuppressWarnings("unchecked")
	public void onEnable() {
		instance = this;
		Bukkit.getServer().getConsoleSender().sendMessage(prefix + "§2Das Plugin wurde gestartet!");
		file = new File("plugins//AmongUsTheSkeld//config.yml");
		cfg = YamlConfiguration.loadConfiguration(file);
		cfg.set("join_order", join_order);
		try {cfg.save(file);} catch (IOException e) {e.printStackTrace();}
		allplayers = (HashMap<UUID, String>) cfg.get("allplayers");
		SneakJump.SneakJumpListener();
		JoinQuit.JoinQuitListener();
	}


	public void onDisable() {
		cfg.set("allplayers", allplayers);
		try {cfg.save(file);} catch (IOException e) {e.printStackTrace();}
		Bukkit.getServer().getConsoleSender().sendMessage(prefix + "§2Die Config wurde gespeichert!");
	}
	
	public static Main getInstance() {
		return instance;
	}
}

und Hier der SneakJump.java

 package listener;


import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerToggleSneakEvent;
import org.bukkit.plugin.java.JavaPlugin;


import main.Main;


public class SneakJump extends JavaPlugin implements Listener{
	
	@EventHandler
	public void onSneak(PlayerToggleSneakEvent e) {
		Player p = e.getPlayer();
		p.sendMessage("0");
		if (p.isSneaking()) {
			p.sendMessage("1");
			Location loc = p.getLocation();
			Location one_under_loc = new Location(p.getWorld(), loc.getX(), loc.getY(), loc.getZ());
			if (one_under_loc.getBlock().getType() == Material.IRON_TRAPDOOR) {
				p.sendMessage("2");
				p.teleport(new Location(p.getWorld(), loc.getX(), loc.getY()-2, loc.getZ()));
			}
		}
	}
	
	public static void SneakJumpListener() {
		Bukkit.getPluginManager().registerEvents(SneakJump.getInstance(), Main.getInstance());
	}
	
	public static SneakJump getInstance() {
		return getInstance();
	}
}

und hier der Error:

[19:04:25] [Server thread/ERROR]: Error occurred while enabling AmongUsInMinecraft v1.0 (Is it up to date?)
java.lang.StackOverflowError: null
        at listener.SneakJump.getInstance(SneakJump.java:36) ~[?:?]

Vielen Dank für alle Antworten!

Computer, Programmieren, Java, Minecraft, Bukkit, Spigot
2 Antworten
Error occurred while enabling Till v1.1 (Is it up to date?) java.lang.NullPointerException: null? Was ist eine NullPointerException? Wie löse ich das Problem?

Hallo ich habe einen kleinen Command geschrieben der mir ein Item gibt.

So habe ich ihn registriert:

public class Till extends JavaPlugin {
    @Override
    public void onEnable() {
                getLogger().info("Plugin Loaded");
                getCommand("test").setExecutor(new TillTestCommand());

Er hat immer gut funktioniert und auch jetzt noch.

Dann habe ich mit einen Plugin Manager einen JoinQuitListener und andere Events hinzugefügt. Sie funktionierten auch soweit.

Als ich dann ein neuen Command hinzufügte:

public class Till extends JavaPlugin {
    @Override
    public void onEnable() {
                getLogger().info("Plugin Loaded");
                getCommand("test").setExecutor(new TillTestCommand());
                getCommand("adminItems").setExecutor(new AdminItemsCommands());

Funktionierte nur noch der "TillTestCommand"

Die Events funktionierten nicht mehr und auch der dazugekommene Command funktionierte nicht.

Es gab beim Start des Servers eben eine Fehlermeldung die ich gegoogelt habe aber andere Foren und Beiträge halfen mir nicht weiter.

Die ganze Meldung:

[12:40:46] [Server thread/INFO]: [Till] Loading Till v1.1

[12:40:46] [Server thread/INFO]: [Till] Enabling Till v1.1

[12:40:46] [Server thread/INFO]: [Till] Plugin Loaded

[12:40:46] [Server thread/ERROR]: Error occurred while enabling Till v1.1 (Is it up to date?)

java.lang.NullPointerException: null

    at de.firstmine.till.Till.onEnable(Till.java:20) ~[?:?]

    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot.jar:git-Spigot-800b93f-8160e29]

    ......

Ich glaube das weitere ist nicht wichtig!

Vielen Dank schonmal!

Till

 

Computer, Programmieren, Minecraft, Bukkit, Spigot
2 Antworten
Minecraft Spigot PlayerBreakBlock Animation?

Servus,

ich versuche gerade eine Animation, die passiert wenn jemand einen Block platziert.

Die Animation soll den Block langsam zerstören

Was ich jz gemacht habe:

if(e.getBlock().getType().equals(Material.STONE)) {	
		e.getPlayer().sendMessage("Block placed");
		Bukkit.getScheduler().scheduleAsyncRepeatingTask(gameManager, new Runnable() {
			int blockBreakState = 0;
			PacketPlayOutBlockBreakAnimation packet = new PacketPlayOutBlockBreakAnimation(0, new BlockPosition(e.getBlock().getX(), e.getBlock().getY(), e.getBlock().getZ()), blockBreakState);
			@Override
			public void run() {
				//e.getBlock()
				if(blockBreakState <= 10) {
					packet = new PacketPlayOutBlockBreakAnimation(0, new BlockPosition(e.getBlock().getX(), e.getBlock().getY(), e.getBlock().getZ()), blockBreakState);
					for(Player t : Bukkit.getOnlinePlayers()) {
						((CraftPlayer) t).getHandle().playerConnection.sendPacket(packet);
					}
				}else {
					e.getBlock().setType(Material.AIR);
					return;
				}
				blockBreakState += 1;
			}
		}, 1*20, 1*20);	
		return;
	}else {
		e.getPlayer().sendMessage("ne1");
	}

So,
Leider habe ich keine Ahnung wie man "CraftPlayer" importiert. Ich habe viel drüber gelesen und mit Git versucht Buildtools zu kompilieren aber habe es nicht geschafft

Hat jemand Ahnung davon und weiß wie man die Animation richtig hinkriegt?

Danke im Vorraus!!

Computer, Programmieren, Java, Minecraft, java programmieren, Minecraft Server, Bukkit, craftbukkit, Spigot, Plugins Minecraft, plugins programmieren, Minecraft Programmieren, Spigot Plugin
1 Antwort

Meistgelesene Fragen zum Thema Bukkit