Compare commits

...
7 Commits
Author SHA1 Message Date
Edson Passos 230a0e9ba5 Merge pull request #515 from marcelo-mason/patch-3
Fixing ChatEvent + Denying same IP kills
2019-07-21 10:23:08 -03:00
RoinujNosde 9f96f8c19f Merge branch 'ArtNRG-master' into patch-3
Deny calculating kills with the same IP
2019-07-21 10:15:31 -03:00
RoinujNosde 1b16fd3b2b Merge branch 'master' of https://github.com/ArtNRG/SimpleClans into ArtNRG-master
Testing
2019-07-21 10:10:26 -03:00
RoinujNosde 4e5461b533 ChatEvent is now triggered sync
Closes #514
2019-07-21 10:07:42 -03:00
ArtNRG 70f4a4a109 If some player is killed by another one, check both attacker and victim IP addresses.
If they are the same don't calculate that kill and send the message to the server console.
2018-05-04 11:33:15 +05:00
ArtNRG ae3ebee649 Add kill-weights.deny-same-ip-kills:false boolean to config.yml 2018-05-04 11:32:46 +05:00
ArtNRG 235a69cf15 Update SettingsManager to get kill-weights.deny-same-ip-kills boolean from config.yml 2018-05-04 11:31:31 +05:00
5 changed files with 78 additions and 47 deletions

No files matched your search

+1 -1
View File
@@ -2,7 +2,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>net.sacredlabyrinth.phaed.simpleclans</groupId>
<artifactId>SimpleClans</artifactId>
<version>2.7.12</version>
<version>2.7.13</version>
<name>SimpleClans</name>
<url>http://dev.bukkit.org/server-mods/simpleclans/</url>
@@ -15,6 +15,7 @@ import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
import org.bukkit.event.player.PlayerInteractEntityEvent;
import java.text.MessageFormat;
import java.util.logging.Level;
/**
* @author phaed
@@ -78,6 +79,18 @@ public class SCEntityListener implements Listener
if (attacker != null && victim != null)
{
if (SimpleClans.getInstance().getSettingsManager().isDenySameIPKills())
{
if (attacker.getAddress().getHostString().equals(victim.getAddress().getHostString()))
{
plugin.getLogger().log(Level.INFO, "Blocked same IP kill calculating: {0} killed {1}. IP: {2}", new Object[]{
attacker.getDisplayName(), victim.getDisplayName(), attacker.getAddress().getHostString()
});
return;
}
}
ClanPlayer acp;
ClanPlayer vcp;
if (SimpleClans.getInstance().hasUUID())
@@ -14,6 +14,7 @@ import java.util.*;
import net.sacredlabyrinth.phaed.simpleclans.events.ChatEvent;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.scheduler.BukkitRunnable;
/**
* @author phaed
@@ -91,10 +92,11 @@ public final class ClanManager {
SimpleClans.getInstance().getPermissionsManager().updateClanPermissions(clan);
SimpleClans.getInstance().getServer().getPluginManager().callEvent(new CreateClanEvent(clan));
}
/**
* Reset a player's kdr
* @param cp
*
* @param cp
*/
public void resetKdr(ClanPlayer cp) {
cp.setCivilianKills(0);
@@ -232,8 +234,7 @@ public final class ClanManager {
return getClanPlayer(player.getName());
}
}
/**
* Gets the ClanPlayer data object if a player is currently in a clan, null
* if he's not in a clan
@@ -984,10 +985,10 @@ public final class ClanManager {
return true;
}
/**
* Purchase Reset Kdr
*
*
* @param player
* @return
*/
@@ -995,9 +996,9 @@ public final class ClanManager {
if (!plugin.getSettingsManager().isePurchaseResetKdr()) {
return true;
}
double price = plugin.getSettingsManager().geteResetKdr();
if (plugin.getPermissionsManager().hasEconomy()) {
if (plugin.getPermissionsManager().playerHasMoney(player, price)) {
plugin.getPermissionsManager().playerChargeMoney(player, price);
@@ -1101,8 +1102,8 @@ public final class ClanManager {
* @param player
* @param msg
*/
public void processClanChat(Player player, String msg) {
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
public void processClanChat(Player player, final String msg) {
final ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
if (cp == null) {
return;
@@ -1141,29 +1142,34 @@ public final class ClanManager {
ChatBlock.sendMessage(player, ChatColor.AQUA + "You have unmuted clan chat");
}
} else {
List<ClanPlayer> receivers = new LinkedList<>();
final List<ClanPlayer> receivers = new LinkedList<>();
for (ClanPlayer p : cp.getClan().getOnlineMembers()) {
if (!p.isMuted()) {
receivers.add(p);
}
}
ChatEvent ce = new ChatEvent(msg, cp, receivers, ChatEvent.Type.CLAN);
Bukkit.getServer().getPluginManager().callEvent(ce);
if (ce.isCancelled()) {
return;
}
String message = Helper.formatClanChat(cp, ce.getMessage(), ce.getPlaceholders());
String eyeMessage = Helper.formatSpyClanChat(cp, message);
plugin.getServer().getConsoleSender().sendMessage(eyeMessage);
for (ClanPlayer p : ce.getReceivers()) {
ChatBlock.sendMessage(p.toPlayer(), message);
}
sendToAllSeeing(eyeMessage, ce.getReceivers());
new BukkitRunnable() {
@Override
public void run() {
ChatEvent ce = new ChatEvent(msg, cp, receivers, ChatEvent.Type.CLAN);
Bukkit.getServer().getPluginManager().callEvent(ce);
if (ce.isCancelled()) {
return;
}
String message = Helper.formatClanChat(cp, ce.getMessage(), ce.getPlaceholders());
String eyeMessage = Helper.formatSpyClanChat(cp, message);
plugin.getServer().getConsoleSender().sendMessage(eyeMessage);
for (ClanPlayer p : ce.getReceivers()) {
ChatBlock.sendMessage(p.toPlayer(), message);
}
sendToAllSeeing(eyeMessage, ce.getReceivers());
}
}.runTask(plugin);
}
}
@@ -1199,8 +1205,8 @@ public final class ClanManager {
* @param player
* @param msg
*/
public void processAllyChat(Player player, String msg) {
ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
public void processAllyChat(Player player, final String msg) {
final ClanPlayer cp = plugin.getClanManager().getClanPlayer(player);
if (cp == null) {
return;
@@ -1239,7 +1245,7 @@ public final class ClanManager {
ChatBlock.sendMessage(player, ChatColor.AQUA + "You have unmuted ally chat");
}
} else {
List<ClanPlayer> receivers = new LinkedList<>();
final List<ClanPlayer> receivers = new LinkedList<>();
Set<ClanPlayer> allies = cp.getClan().getAllAllyMembers();
allies.addAll(cp.getClan().getMembers());
for (ClanPlayer ally : allies) {
@@ -1257,23 +1263,28 @@ public final class ClanManager {
}
receivers.add(ally);
}
ChatEvent ce = new ChatEvent(msg, cp, receivers, ChatEvent.Type.ALLY);
Bukkit.getServer().getPluginManager().callEvent(ce);
if (ce.isCancelled()) {
return;
}
String message = Helper.formatAllyChat(cp, ce.getMessage(), ce.getPlaceholders());
SimpleClans.log(message);
Player self = cp.toPlayer();
ChatBlock.sendMessage(self, message);
new BukkitRunnable() {
@Override
public void run() {
ChatEvent ce = new ChatEvent(msg, cp, receivers, ChatEvent.Type.ALLY);
Bukkit.getServer().getPluginManager().callEvent(ce);
for (ClanPlayer p : ce.getReceivers()) {
ChatBlock.sendMessage(p.toPlayer(), message);
}
if (ce.isCancelled()) {
return;
}
String message = Helper.formatAllyChat(cp, ce.getMessage(), ce.getPlaceholders());
SimpleClans.log(message);
Player self = cp.toPlayer();
ChatBlock.sendMessage(self, message);
for (ClanPlayer p : ce.getReceivers()) {
ChatBlock.sendMessage(p.toPlayer(), message);
}
}
}.runTask(plugin);
}
}
@@ -143,6 +143,7 @@ public final class SettingsManager {
private boolean homebaseSetOnce;
private int waitSecs;
private boolean enableAutoGroups;
private boolean denySameIPKills;
private boolean moneyperkill;
private double KDRMultipliesPerKill;
private boolean teleportBlocks;
@@ -300,6 +301,7 @@ public final class SettingsManager {
kwRival = getConfig().getDouble("kill-weights.rival");
kwNeutral = getConfig().getDouble("kill-weights.neutral");
kwCivilian = getConfig().getDouble("kill-weights.civilian");
denySameIPKills = getConfig().getBoolean("kill-weights.deny-same-ip-kills");
useMysql = getConfig().getBoolean("mysql.enable");
host = getConfig().getString("mysql.host");
port = getConfig().getInt("mysql.port");
@@ -1069,6 +1071,10 @@ public final class SettingsManager {
return confirmationForDemote;
}
public boolean isDenySameIPKills() {
return denySameIPKills;
}
public boolean isUseColorCodeFromPrefix() {
return useColorCodeFromPrefix;
}
+1
View File
@@ -77,6 +77,7 @@ kill-weights:
rival: 2.0
civilian: 0.0
neutral: 1.0
deny-same-ip-kills: false
clan:
homebase-teleport-wait-secs: 10
homebase-can-be-set-only-once: true