Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [FUN] DemoScreen плагин на демо майн

minedumper

Участник
Пользователь
Баллы
36
Имя в Minecraft
minedumper
BCtroll - DemoTroll:
Версия: v0.1

Команды:
/bctroll <Игрок>
Права:
troll.demo


Особенности:
  • Маленький по весу
Скачать плагин --> https://yadi.sk/d/TK8aMLoV3FuC3x
Исходный код -->
JavaScript:
package ru.brmaecraft.plugin;

import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.Server;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

public class main extends JavaPlugin
  implements Listener
{
  public void onEnable()
  {
    Bukkit.getServer().getPluginManager().registerEvents(this, this);
  }

  public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    if (cmd.getName().equalsIgnoreCase("bctroll")) {
      if (args.length > 0) {
        OfflinePlayer p = Bukkit.getOfflinePlayer(args[0].toString());
        if (p.isOnline()) {
          Player enviar = Bukkit.getPlayer(args[0].toString());
          String path = Bukkit.getServer().getClass().getPackage().getName();
          String version = path.substring(path.lastIndexOf(".") + 1, path.length());
          try {
            Class craftPlayer = Class.forName("org.bukkit.craftbukkit." + version + ".entity.CraftPlayer");
            Class PacketPlayOutGameStateChange = Class.forName("net.minecraft.server." + version + ".PacketPlayOutGameStateChange");
            Class Packet = Class.forName("net.minecraft.server." + version + ".Packet");
            Constructor playOutConstructor = PacketPlayOutGameStateChange.getConstructor(new Class[] { Integer.TYPE, Float.TYPE });
            Object packet = playOutConstructor.newInstance(new Object[] { Integer.valueOf(5), Integer.valueOf(0) });
            Object craftPlayerObject = craftPlayer.cast(enviar);
            Method getHandleMethod = craftPlayer.getMethod("getHandle", new Class[0]);
            Object handle = getHandleMethod.invoke(craftPlayerObject, new Object[0]);
            Object pc = handle.getClass().getField("playerConnection").get(handle);
            Method sendPacketMethod = pc.getClass().getMethod("sendPacket", new Class[] { Packet });
            sendPacketMethod.invoke(pc, new Object[] { packet });
          } catch (Exception ex) {
            ex.printStackTrace();
          }
          sender.sendMessage(ChatColor.GREEN + enviar.getName() + ChatColor.RED + " затролен!");
        }
        return true;
      }
      sender.sendMessage(ChatColor.RED + "Неправильно, пиши /bctroll <имя игрока>");
    }

    return false;
  }
}

Лог изменений:
Версия 0.1

* Плагин создан ! ! !
 

Поделиться этой страницей

Назад
Верх