mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 05:16:55 +00:00
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f1da79444 | |||
| 244ceb4dcc | |||
| ac1cafe0d9 | |||
| b3ce1913fd | |||
| 9a707b34a3 | |||
| d52648b4ff |
@@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<groupId>me.youhavetrouble</groupId>
|
<groupId>me.youhavetrouble</groupId>
|
||||||
<artifactId>PreventStabby</artifactId>
|
<artifactId>PreventStabby</artifactId>
|
||||||
<version>1.8.1</version>
|
<version>1.10.1</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
<name>PreventStabby</name>
|
<name>PreventStabby</name>
|
||||||
|
|||||||
@@ -21,7 +21,8 @@ public class ConfigCache {
|
|||||||
cannot_attack_pets_victim, cannot_attack_pets_attacker, no_permission, no_such_command, pvp_enabled_other,
|
cannot_attack_pets_victim, cannot_attack_pets_attacker, no_permission, no_such_command, pvp_enabled_other,
|
||||||
pvp_disabled_other, punish_for_combat_logout_message, entering_combat, leaving_combat,
|
pvp_disabled_other, punish_for_combat_logout_message, entering_combat, leaving_combat,
|
||||||
cant_do_that_during_combat, cannot_attack_mounts_attacker, cannot_attack_mounts_victim, force_pvp_on,
|
cant_do_that_during_combat, cannot_attack_mounts_attacker, cannot_attack_mounts_victim, force_pvp_on,
|
||||||
force_pvp_off, force_pvp_none, placeholder_combat_time, placeholder_not_in_combat, cannot_attack_pvp_force_off;
|
force_pvp_off, force_pvp_none, placeholder_combat_time, placeholder_not_in_combat, cannot_attack_pvp_force_off,
|
||||||
|
placeholder_pvp_forced_true, placeholder_pvp_forced_false, placeholder_pvp_forced_none;
|
||||||
@Getter private final double lava_and_fire_stopper_radius;
|
@Getter private final double lava_and_fire_stopper_radius;
|
||||||
@Getter private final long cache_time, combat_time, login_protection_time, teleport_protection_time;
|
@Getter private final long cache_time, combat_time, login_protection_time, teleport_protection_time;
|
||||||
@Getter private final Set<String> combatBlockedCommands = new HashSet<>();
|
@Getter private final Set<String> combatBlockedCommands = new HashSet<>();
|
||||||
@@ -91,6 +92,9 @@ public class ConfigCache {
|
|||||||
addDefault("messages.force_pvp_none", "PvP state is not forced now");
|
addDefault("messages.force_pvp_none", "PvP state is not forced now");
|
||||||
addDefault("placeholder.placeholder_combat_time", "Combat time: %time%");
|
addDefault("placeholder.placeholder_combat_time", "Combat time: %time%");
|
||||||
addDefault("placeholder.not_in_combat", "Not in combat");
|
addDefault("placeholder.not_in_combat", "Not in combat");
|
||||||
|
addDefault("placeholder.pvp_forced_true", "PvP is forced on");
|
||||||
|
addDefault("placeholder.pvp_forced_false", "PvP is forced off");
|
||||||
|
addDefault("placeholder.pvp_forced_none", "PvP is not forced");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -152,6 +156,10 @@ public class ConfigCache {
|
|||||||
|
|
||||||
this.placeholder_combat_time = config.getString("placeholder.placeholder_combat_time", "Combat time: %time%");
|
this.placeholder_combat_time = config.getString("placeholder.placeholder_combat_time", "Combat time: %time%");
|
||||||
this.placeholder_not_in_combat = config.getString("placeholder.not_in_combat", "Not in combat");
|
this.placeholder_not_in_combat = config.getString("placeholder.not_in_combat", "Not in combat");
|
||||||
|
|
||||||
|
this.placeholder_pvp_forced_true = config.getString("placeholder.pvp_forced_true", "PvP is forced on");
|
||||||
|
this.placeholder_pvp_forced_false = config.getString("placeholder.pvp_forced_false", "PvP is forced off");
|
||||||
|
this.placeholder_pvp_forced_none = config.getString("placeholder.pvp_forced_none", "PvP is not forced");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package me.youhavetrouble.preventstabby.hooks;
|
|||||||
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
|
||||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||||
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
||||||
|
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@@ -46,6 +47,15 @@ public class PlacoholderApiHook extends PlaceholderExpansion {
|
|||||||
case "in_combat":
|
case "in_combat":
|
||||||
if (!player.isOnline()) return String.valueOf(false);
|
if (!player.isOnline()) return String.valueOf(false);
|
||||||
return String.valueOf(plugin.getPlayerManager().getPlayer(player.getUniqueId()).isInCombat());
|
return String.valueOf(plugin.getPlayerManager().getPlayer(player.getUniqueId()).isInCombat());
|
||||||
|
case "pvp_forced":
|
||||||
|
switch (PreventStabby.getPlugin().getPlayerManager().getForcedPvpState()) {
|
||||||
|
case NONE:
|
||||||
|
return legacyComponentSerializer.serialize(PluginMessages.parseMessage(plugin.getConfigCache().getPlaceholder_pvp_forced_none()));
|
||||||
|
case ENABLED:
|
||||||
|
return legacyComponentSerializer.serialize(PluginMessages.parseMessage(plugin.getConfigCache().getPlaceholder_pvp_forced_true()));
|
||||||
|
case DISABLED:
|
||||||
|
return legacyComponentSerializer.serialize(PluginMessages.parseMessage(plugin.getConfigCache().getPlaceholder_pvp_forced_false()));
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
+10
-2
@@ -8,6 +8,7 @@ import org.bukkit.entity.Tameable;
|
|||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
import org.bukkit.event.EventPriority;
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.entity.EntityTargetEvent;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
@@ -17,7 +18,7 @@ public class PetTargettingPlayerListener implements Listener {
|
|||||||
* Stops pets with owners targetting players with pvp off
|
* Stops pets with owners targetting players with pvp off
|
||||||
*/
|
*/
|
||||||
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
|
||||||
public void onPetTargetPlayer(org.bukkit.event.entity.EntityTargetEvent event) {
|
public void onPetTargetPlayer(EntityTargetEvent event) {
|
||||||
if (!(event.getEntity() instanceof Tameable)) return;
|
if (!(event.getEntity() instanceof Tameable)) return;
|
||||||
Tameable entity = (Tameable) event.getEntity();
|
Tameable entity = (Tameable) event.getEntity();
|
||||||
if (!(entity.getOwner() instanceof Player)) return;
|
if (!(entity.getOwner() instanceof Player)) return;
|
||||||
@@ -26,8 +27,15 @@ public class PetTargettingPlayerListener implements Listener {
|
|||||||
UUID damager = entity.getOwner().getUniqueId();
|
UUID damager = entity.getOwner().getUniqueId();
|
||||||
UUID victim = event.getTarget().getUniqueId();
|
UUID victim = event.getTarget().getUniqueId();
|
||||||
|
|
||||||
if (PreventStabby.getPlugin().getPlayerManager().canDamage(damager, victim, true, false))
|
boolean tempting = event.getReason().equals(EntityTargetEvent.TargetReason.TEMPT);
|
||||||
|
|
||||||
|
if (PreventStabby.getPlugin().getPlayerManager().canDamage(damager, victim, !tempting, false)) {
|
||||||
|
if (tempting) {
|
||||||
|
event.setCancelled(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
CombatTimer.refreshPlayersCombatTime(damager, victim);
|
CombatTimer.refreshPlayersCombatTime(damager, victim);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user