BrothersHouse
Minecrafter
Hey hey liebes Forum,
ich habe ein Problem.
Ich dachte mir, mein Server brauch noch ein clearlag Plugin, die die ich downloaden kann finde ich öde.
Lieber mache ich ein Selbst.
Nun schön und gut.
Es funktioniert nur halb und ich finde mein Fehler zum verrecken nicht.
hier mal der Quellcode:
Main.java
TPS.java
plugin.yml
ich habe ein Problem.
Ich dachte mir, mein Server brauch noch ein clearlag Plugin, die die ich downloaden kann finde ich öde.
Lieber mache ich ein Selbst.
Nun schön und gut.
Es funktioniert nur halb und ich finde mein Fehler zum verrecken nicht.
hier mal der Quellcode:
Main.java
Java:
package de.payne.classes;
import java.text.DecimalFormat;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Animals;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Item;
import org.bukkit.entity.Monster;
import org.bukkit.entity.Player;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
DecimalFormat formatter = new DecimalFormat("#.##");
public void onEnable() {
Bukkit.getServer().getScheduler().scheduleSyncRepeatingTask(this, new TPS(), 100L, 1L);
}
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
if(cmd.getName().equalsIgnoreCase("tps")){
if(sender.hasPermission("tps.use")){
if(sender instanceof Player) {
Player player = (Player) sender;
if(player.isOp());
ChatColor.translateAlternateColorCodes('&', "§");
player.sendMessage("§8§m-----------------------");
player.sendMessage("");
player.sendMessage("§e§l(!)§r §eServer §7: §8(§7" + Bukkit.getServerName() + "§8)");
player.sendMessage("§e§l(!)§r §eTPS §7: " + formatter.format(TPS.getTPS()) + "#.##");
player.sendMessage("§e§l(!)§r §eServer §7: §8(§aOnline§8)");
player.sendMessage("");
player.sendMessage("§8§m-----------------------");
}
}
return false;
}
return false;
}
public boolean onCommand1(final CommandSender sender,Command cmd,String label,String[] args){
if(label.equalsIgnoreCase("clearlag")){
if(sender.hasPermission("clearlag.use")){
if(args.length == 0){
for(Entity entity : Bukkit.getWorld("world").getEntities()){
if(entity instanceof Item || entity instanceof Animals || entity instanceof Monster){
entity.remove();
}
}
sender.sendMessage(ChatColor.GREEN+"Alle Entitys gelöscht!");
}else{
sender.sendMessage(ChatColor.GREEN+"Du musst /clearlag eingeben!");
}
}}
return false;
}}
Java:
package de.payne.classes;
import org.bukkit.Bukkit;
public class TPS
implements Runnable
{
public static int TICK_COUNT = 0;
public static long[] TICKS = new long['»'];
public static long LAST_TICK = 0L;
public static double getTPS()
{
return getTPS(100);
}
public static double getTPS(int ticks)
{
try
{
if (TICK_COUNT < ticks) {
return 20.0D;
}
int target = (TICK_COUNT - 1 - ticks) % TICKS.length;
long elapsed = System.currentTimeMillis() - TICKS[target];
return ticks / (elapsed / 1000.0D);
}
catch (Exception e)
{
if ((e instanceof ArrayIndexOutOfBound***ception)) {
return 20.0D;
}
Bukkit.getLogger().severe("[AntiLag] Beim abrufen des TPS ist ein Fehler aufgetreten");
}
return 20.0D;
}
public static long getElapsed(int tickID)
{
long time = TICKS[(tickID % TICKS.length)];
return System.currentTimeMillis() - time;
}
public void run()
{
TICKS[(TICK_COUNT % TICKS.length)] = System.currentTimeMillis();
TICK_COUNT += 1;
}
}
plugin.yml
Code:
name: clearlag
version: 1.0
author: Felix Payne
main: de.payne.classes.Main
commands:
clearlag:
tps:
//Dean: Logs & Konfigs bitte entweder als Code einfügen oder als Dateianhang, bzw.auf pastebin.com hochladen! Danke!
Zuletzt bearbeitet von einem Moderator: