-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNoMultList.java
executable file
·103 lines (87 loc) · 3.13 KB
/
NoMultList.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package net.wealth_mc.nomult;
import java.net.InetAddress;
import net.wealth_mc.nomult.other.NoMultRun;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerAchievementAwardedEvent;
import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import fr.xephi.authme.events.LoginEvent;
public class NoMultList implements Listener {
public NoMult plg;
public NoMultList(NoMult noMult) {
this.plg = noMult;
}
@EventHandler
public void onPlayerAchievementAwarded (PlayerAchievementAwardedEvent event) {
Player p = event.getPlayer();
if (!NoMult.playerischeck.contains(p)) {
event.setCancelled(true);
}
}
@EventHandler
public void onJoinPlayer (PlayerJoinEvent event) {
if (NoMult.blockjoin) event.setJoinMessage(null);
}
@EventHandler
public void onQuitPlayer(PlayerQuitEvent event){
Player player = event.getPlayer();
if (NoMult.blockleave) {
event.setQuitMessage(null);
}
if (NoMult.playerischeck.contains(player)) {
if (NoMult.blockleave
&& !player.hasPermission(NoMult.permSPY)
&& !player.hasPermission(NoMult.permADMIN)) {
NoMult.instance.getServer().broadcastMessage(ChatColor.YELLOW
+ NoMult.plogout.replace("%player%", player.getName()));
}
NoMult.playerischeck.remove(player);
}
}
@EventHandler
public void onAuthLoginEvent(LoginEvent event) {
Player player = event.getPlayer();
new NoMultRun(player);
}
@EventHandler(priority = EventPriority.LOW)
public void onEntityDamage(EntityDamageEvent event) {
checkEntityDamage(event);
}
private void checkEntityDamage(EntityDamageEvent event) {
if (NoMult.instance.pvp) {
Player damager;
Player taker;
InetAddress dam = null;
InetAddress tak = null;
if (event instanceof EntityDamageByEntityEvent) {
EntityDamageByEntityEvent entity = (EntityDamageByEntityEvent) event;
if ((entity.getDamager() instanceof Player)
&& (entity.getEntity() instanceof Player)) {
damager = (Player) entity.getDamager();
taker = (Player) entity.getEntity();
if (entity.getDamager() != null && taker.isOnline()) {
dam = damager.getAddress().getAddress();
tak = taker.getAddress().getAddress();
if (dam.equals(tak)){
damager.sendMessage(ChatColor.DARK_RED + "[NoMult]: "
+ ChatColor.WHITE + damager.getName() + " IP: "
+ dam + ", попытался нанести урон для " + taker.getName()
+ " IP: " + tak + ", PVP между мультиаккаунтами отключено!");
taker.sendMessage(ChatColor.DARK_RED + "[NoMult]: "
+ ChatColor.WHITE + damager.getName() + " IP: "
+ dam + ", попытался нанести урон для " + taker.getName()
+ " IP: " + tak + ", PVP между мультиаккаунтами отключено!");
event.setCancelled(true);
}
}
}
}
}
}
}