Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.zhcoder.donatertp;
- import org.bukkit.Bukkit;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.entity.EntityDamageByEntityEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerQuitEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.scheduler.BukkitRunnable;
- import java.util.HashMap;
- import java.util.concurrent.CopyOnWriteArrayList;
- public class Main extends JavaPlugin implements Listener {
- HashMap<String,String> list = new HashMap<String, String>();
- CopyOnWriteArrayList<String> cmds = new CopyOnWriteArrayList<String>();
- public void onEnable() {
- this.saveDefaultConfig();
- Bukkit.getConsoleSender().sendMessage("§b[DonaterTP] §fCreated by §avk.com/mscode");
- Bukkit.getPluginManager().registerEvents( this,this );
- onLoadCmds();
- }
- public void onLoadCmds() {
- Bukkit.getPluginCommand("tp").getAliases().forEach(s -> cmds.add(s));
- cmds.add("tp");
- Bukkit.getConsoleSender().sendMessage("§b[DonaterTP] §fLoading §e" + cmds.size() + " §fcmds." );
- }
- @EventHandler
- public void onCheckCmds(PlayerCommandPreprocessEvent e) {
- String p = e.getPlayer().getName();
- String[] cmd = e.getMessage().split(" ");
- cmd[0] = cmd[0].substring(cmd[0].indexOf("/")+1);
- if (cmds.contains(cmd[0])) {
- if (cmd.length > 1) {
- Player select = Bukkit.getPlayerExact(cmd[1]);
- if (select != null) {
- e.getPlayer().sendMessage("§cВнимание! §7Ты телепортировался к игроку, ему включился режим §eбессмертия." );
- list.put(p, select.getName()); //player, select
- startTimer(p, this.getConfig().getInt("time" ));
- }
- }
- }
- }
- @EventHandler
- public void onExit(PlayerQuitEvent e) {
- if (isGod(e.getPlayer().getName())) {
- list.values().remove( e.getPlayer().getName());
- }
- }
- @EventHandler
- public void ong(EntityDamageByEntityEvent e) {
- String p = e.getDamager().getName();
- Player select = (Player) e.getEntity();
- if (isDamage(p)) {
- if (list.get(p).equals(select.getName())) {
- e.getDamager().sendMessage("§fВы не можете бить этого игрока, так-как §eтпешнулись.");
- e.setCancelled(true);
- }
- }
- if (isGod(p)) {
- list.values().remove(p);
- }
- }
- public void startTimer(String p, Integer time) {
- new BukkitRunnable() {
- @Override
- public void run() {
- list.remove(p);
- }
- }.runTaskLater(this, 20L * time);
- }
- public boolean isDamage(String p) {
- if (list.containsKey(p)) {
- return true;
- }
- return false;
- }
- public boolean isGod(String p) {
- if (list.containsValue(p)) {
- return true;
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment