mirror of
https://gitlab.com/phoenix-dvpmt/mmocore.git
synced 2024-12-28 05:37:44 +01:00
!Improved party friendlyfire
This commit is contained in:
parent
d8af4ba8bc
commit
10456a5345
@ -1,6 +1,7 @@
|
|||||||
package net.Indyuce.mmocore.listener;
|
package net.Indyuce.mmocore.listener;
|
||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
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;
|
||||||
@ -10,6 +11,7 @@ import net.Indyuce.mmocore.MMOCore;
|
|||||||
import net.Indyuce.mmocore.api.event.social.PartyChatEvent;
|
import net.Indyuce.mmocore.api.event.social.PartyChatEvent;
|
||||||
import net.Indyuce.mmocore.api.player.PlayerData;
|
import net.Indyuce.mmocore.api.player.PlayerData;
|
||||||
import net.Indyuce.mmocore.manager.ConfigManager.SimpleMessage;
|
import net.Indyuce.mmocore.manager.ConfigManager.SimpleMessage;
|
||||||
|
import net.mmogroup.mmolib.api.event.PlayerAttackEvent;
|
||||||
|
|
||||||
public class PartyListener implements Listener {
|
public class PartyListener implements Listener {
|
||||||
|
|
||||||
@ -28,7 +30,8 @@ public class PartyListener implements Listener {
|
|||||||
* running it in a delayed task is recommended
|
* running it in a delayed task is recommended
|
||||||
*/
|
*/
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(MMOCore.plugin, () -> {
|
Bukkit.getScheduler().scheduleSyncDelayedTask(MMOCore.plugin, () -> {
|
||||||
SimpleMessage format = MMOCore.plugin.configManager.getSimpleMessage("party-chat", "player", data.getPlayer().getName(), "message", event.getMessage().substring(MMOCore.plugin.configManager.partyChatPrefix.length()));
|
SimpleMessage format = MMOCore.plugin.configManager.getSimpleMessage("party-chat", "player", data.getPlayer().getName(), "message",
|
||||||
|
event.getMessage().substring(MMOCore.plugin.configManager.partyChatPrefix.length()));
|
||||||
PartyChatEvent called = new PartyChatEvent(data, format.message());
|
PartyChatEvent called = new PartyChatEvent(data, format.message());
|
||||||
Bukkit.getPluginManager().callEvent(called);
|
Bukkit.getPluginManager().callEvent(called);
|
||||||
if (!called.isCancelled())
|
if (!called.isCancelled())
|
||||||
@ -38,4 +41,16 @@ public class PartyListener implements Listener {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* cancel damage of players from the same party
|
||||||
|
*/
|
||||||
|
@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
|
||||||
|
public void b(PlayerAttackEvent event) {
|
||||||
|
if (event.getEntity() instanceof Player) {
|
||||||
|
PlayerData targetData = PlayerData.get((Player) event.getEntity());
|
||||||
|
if (targetData.hasParty() && targetData.getParty().getMembers().has(event.getData().getMMOCore()))
|
||||||
|
event.setCancelled(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user