I
I-Net
Gast
Guten Tag,
ich habe ein Plugin für Minecraft Programmiert. Es kommt nicht zu ein Fehler im Eclipse aber beim Start von mein MineCraft Server.
PROGRAMMIERCODE
Hoffe auf Hilfe. Danke
ich habe ein Plugin für Minecraft Programmiert. Es kommt nicht zu ein Fehler im Eclipse aber beim Start von mein MineCraft Server.
Java:
2012-11-11 16:01:59 [INFO] This server is running CraftBukkit version git-Bukkit-1.4.2-R0.2-1-g3d8a353-b2457jnks (MC: 1.4.2) (Implementing API version 1.4.2-R0.3-SNAPSHOT)
2012-11-11 16:02:00 [SEVERE] Could not load 'plugins\MyLog++.jar' in folder 'plugins'
org.bukkit.plugin.InvalidPluginException: java.lang.NullPointerException
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:152)
at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305)
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)
at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:229)
at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:205)
at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(ServerConfigurationManagerAbstract.java:51)
at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)
at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:105)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:400)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:818)
Caused by: java.lang.NullPointerException
at main.BlockListener.<init>(BlockListener.java:20)
at main.MyLog.<init>(MyLog.java:12)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:148)
... 9 more
PROGRAMMIERCODE
Java:
package main;
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 MyLog extends JavaPlugin {
public final BlockListener blockListener = new BlockListener(this);
@Override
public void onDisable() {
System.out.println("[MyLog] Plugin is disable!");
System.out.println("[MyLog] Version 1.4");
}
@Override
public void onEnable() {
System.out.println("[MyLog] Plugin by MineMarcel!");
System.out.println("[MyLog] Plugin is enable!");
System.out.println("[MyLog] Version 1.4");
PluginManager pm = getServer().getPluginManager();
pm.registerEvents(new BlockListener(this),this);
}
public boolean onCommand(CommandSender sender, Command cmd, String cmdLabel, String[] args) {
boolean erfolg = false;
Player p = (Player)sender;
if (cmd.getName().equalsIgnoreCase("mylog")) {
if (args.length==0) {
p.sendMessage(ChatColor.YELLOW + "[MyLog++] " + ChatColor.GREEN + "Plugin by MineMarcel");
p.sendMessage(ChatColor.YELLOW + "[MyLog++] " + ChatColor.GREEN + "Version 1.4");
}
erfolg = false;
}
return erfolg;
}
}
Java:
package main;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
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.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.bukkit.event.player.PlayerCommandPreprocessEvent;
public class BlockListener implements Listener {
private MyLog t;
private File blocklog = new File(t.getDataFolder(), "log_mined.txt");
private File blocklog2 = new File(t.getDataFolder(), "log_set.txt");
private File blocklog3 = new File(t.getDataFolder(), "log_chat.txt");
private File blocklog4 = new File(t.getDataFolder(), "log_command.txt");
public BlockListener(MyLog instance) {
t = instance;
if (!blocklog.exists()) {
try {
blocklog.createNewFile();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't create log_mined.txt (Bukkit Bug?)!");
}
}
if (!blocklog2.exists()) {
try {
blocklog2.createNewFile();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't create log_set.txt (Bukkit Bug?)!");
}
}
if (!blocklog3.exists()) {
try {
blocklog3.createNewFile();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't create log_chat.txt (Bukkit Bug?)!");
}
}
if (!blocklog4.exists()) {
try {
blocklog4.createNewFile();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't create log_command.txt (Bukkit Bug?)!");
}
}
}
@EventHandler
public void onBlockBreak(BlockBreakEvent event) {
Player player = event.getPlayer();
Material blockmaterial = event.getBlock().getType();
Location location = player.getLocation();
try {
FileWriter writer = new FileWriter(blocklog, true);
writer.append(player.getName() + " have " + blockmaterial.name() + " mined!" + " [ " + location + " ]");
writer.close();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't write log_mined.txt! ERROR!");
}
}
@EventHandler
public void onBlockPlace(BlockPlaceEvent event) {
Player player = event.getPlayer();
Material blockmaterial = event.getBlock().getType();
Location location = player.getLocation();
try {
FileWriter writer = new FileWriter(blocklog2, true);
writer.append(player.getName() + " have " + blockmaterial.name() + " set!" + " [ " + location + " ]");
writer.close();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't write log_set.txt! ERROR!");
}
}
@EventHandler
public void onAsyncPlayerChatEvent(AsyncPlayerChatEvent event) {
Player player = event.getPlayer();
String message = event.getMessage();
try {
FileWriter writer = new FileWriter(blocklog3, true);
writer.append(player.getName() + " wrote " + message);
writer.close();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't write log_chat.txt! ERROR!");
}
}
@EventHandler
public void onPlayerCommandPreqrocessEvent(PlayerCommandPreprocessEvent event) {
Player player = event.getPlayer();
String message = event.getMessage();
try {
FileWriter writer = new FileWriter(blocklog4, true);
writer.append(player.getName() + " = " + message);
writer.close();
} catch (IOException e) {
Bukkit.getLogger().warning("Can't write log_command.txt! ERROR!");
}
}
}
HTML:
name: MyLog
version: 1.4
author: MineMarcel
description: A log plugin
Website: http://www.minemarcel.de/
main: main.MyLog
commands:
heal:
description: command
usage: /<command> <player>
permissions:
Hoffe auf Hilfe. Danke