Proper Distribution to Vankka For Proper Discord Code & Fixed F Leader Leaving Faction Disband Message
This commit is contained in:
parent
4359a8b584
commit
663bd96d26
@ -38,6 +38,7 @@ public class Aliases {
|
||||
public static ArrayList<String> money_withdraw = new ArrayList<>(Arrays.asList("w", "withdraw"));
|
||||
public static ArrayList<String> grace = new ArrayList<>(Collections.singletonList("grace"));
|
||||
public static ArrayList<String> logout = new ArrayList<>(Collections.singletonList("logout"));
|
||||
public static ArrayList<String> points_balance = new ArrayList<>(Arrays.asList("balance", "bal"));
|
||||
public static ArrayList<String> points_points = new ArrayList<>(Collections.singletonList("points"));
|
||||
public static ArrayList<String> points_add = new ArrayList<>(Collections.singletonList("add"));
|
||||
public static ArrayList<String> points_remove = new ArrayList<>(Collections.singletonList("remove"));
|
||||
|
@ -6,6 +6,10 @@ import com.massivecraft.factions.zcore.util.TL;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
/**
|
||||
* @author SaberTeam
|
||||
*/
|
||||
|
||||
public class CmdDiscord extends FCommand {
|
||||
public CmdDiscord() {
|
||||
super();
|
||||
|
@ -11,7 +11,7 @@ import net.dv8tion.jda.core.Permission;
|
||||
public class CmdInviteBot extends FCommand {
|
||||
|
||||
/**
|
||||
* @author Driftay
|
||||
* @author Vankka
|
||||
*/
|
||||
|
||||
public CmdInviteBot() {
|
||||
|
@ -19,7 +19,7 @@ import java.util.concurrent.TimeUnit;
|
||||
public class CmdSetGuild extends FCommand {
|
||||
|
||||
/**
|
||||
* @author Driftay
|
||||
* @author Vankka
|
||||
*/
|
||||
|
||||
private EventWaiter eventWaiter;
|
||||
|
@ -18,6 +18,10 @@ import java.util.HashSet;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* @author SaberTeam
|
||||
*/
|
||||
|
||||
public class Discord {
|
||||
//We dont want waitingLink to reset during reload so we are going to set it here
|
||||
public static HashMap<Integer, FPlayer> waitingLink;
|
||||
|
@ -25,7 +25,7 @@ import java.util.stream.Collectors;
|
||||
public class DiscordListener extends ListenerAdapter {
|
||||
|
||||
/**
|
||||
* @author Driftay
|
||||
* @author Vankka
|
||||
*/
|
||||
|
||||
private static File file = new File(FactionsPlugin.getInstance().getDataFolder(), "discord_guilds.json");
|
||||
|
@ -1,5 +1,10 @@
|
||||
package com.massivecraft.factions.discord;
|
||||
|
||||
|
||||
/**
|
||||
* @author SaberTeam
|
||||
*/
|
||||
|
||||
public class DiscordSetupAttempt {
|
||||
private Boolean success;
|
||||
private String reason;
|
||||
|
@ -22,6 +22,11 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
|
||||
/**
|
||||
* @author Vankka & SaberTeam
|
||||
*/
|
||||
|
||||
public class FactionChatHandler extends ListenerAdapter {
|
||||
|
||||
private FactionsPlugin plugin;
|
||||
|
@ -8,6 +8,7 @@ import com.sk89q.worldguard.domains.Association;
|
||||
import com.sk89q.worldguard.protection.ApplicableRegionSet;
|
||||
import com.sk89q.worldguard.protection.association.Associables;
|
||||
import com.sk89q.worldguard.protection.association.RegionAssociable;
|
||||
import com.sk89q.worldguard.protection.flags.DefaultFlag;
|
||||
import com.sk89q.worldguard.protection.flags.StateFlag;
|
||||
import com.sk89q.worldguard.protection.managers.RegionManager;
|
||||
import com.sk89q.worldguard.protection.regions.ProtectedCuboidRegion;
|
||||
@ -21,9 +22,7 @@ import org.bukkit.plugin.Plugin;
|
||||
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.Method;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/*
|
||||
* WorldGuard Permission Checking.
|
||||
@ -96,6 +95,42 @@ public class Worldguard {
|
||||
return associable;
|
||||
}
|
||||
|
||||
public static boolean isPvPDisabled(Location l) {
|
||||
try {
|
||||
ApplicableRegionSet regionSet = Objects.requireNonNull(instance.getRegionManager(l.getWorld())).getApplicableRegions(l);
|
||||
if (regionSet.size() < 1) {
|
||||
try {
|
||||
return Objects.requireNonNull(Objects.requireNonNull(instance.getRegionManager(l.getWorld())).getRegion("__global__")).getFlags().get(DefaultFlag.PVP) == StateFlag.State.DENY;
|
||||
} catch (Exception e) {
|
||||
if (!(e instanceof NullPointerException)) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
boolean return_flag = false;
|
||||
int return_priority = -1;
|
||||
for (ProtectedRegion region : regionSet) {
|
||||
if (region.getFlags().containsKey(DefaultFlag.PVP)) {
|
||||
StateFlag.State pvp_flag = (StateFlag.State) region.getFlags().get(DefaultFlag.PVP);
|
||||
int region_priority = region.getPriority();
|
||||
if (return_priority == -1) {
|
||||
return_flag = pvp_flag == StateFlag.State.DENY;
|
||||
return_priority = region_priority;
|
||||
} else if (region_priority > return_priority) {
|
||||
return_flag = pvp_flag == StateFlag.State.DENY;
|
||||
return_priority = region_priority;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return return_flag;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Credits to the people listed above for using reflections to load WorldGuard 6.0 & 7.0 in 1 class!
|
||||
*/
|
||||
|
@ -96,23 +96,26 @@ public class FactionsBlockListener implements Listener {
|
||||
boolean landOwned = (myFaction.doesLocationHaveOwnersSet(loc) && !myFaction.getOwnerList(loc).isEmpty());
|
||||
if ((landOwned && myFaction.getOwnerListString(loc).contains(player.getName())) || (me.getRole() == Role.LEADER && me.getFactionId().equals(myFaction.getId())))
|
||||
return true;
|
||||
else if (landOwned && !myFaction.getOwnerListString(loc).contains(player.getName())) {
|
||||
else {
|
||||
String replace = TL.ACTIONS_NOPERMISSIONPAIN.toString().replace("{action}", action.toString());
|
||||
if (landOwned && !myFaction.getOwnerListString(loc).contains(player.getName())) {
|
||||
me.msg(TL.ACTIONS_OWNEDTERRITORYDENY.toString().replace("{owners}", myFaction.getOwnerListString(loc)));
|
||||
if (shouldHurt) {
|
||||
player.damage(Conf.actionDeniedPainAmount);
|
||||
me.msg(TL.ACTIONS_NOPERMISSIONPAIN.toString().replace("{action}", action.toString()).replace("{faction}", Board.getInstance().getFactionAt(loc).getTag(myFaction)));
|
||||
me.msg(replace.replace("{faction}", Board.getInstance().getFactionAt(loc).getTag(myFaction)));
|
||||
}
|
||||
return false;
|
||||
} else if (!landOwned && access == Access.DENY) { // If land is not owned but access is set to DENY anyway
|
||||
if (shouldHurt) {
|
||||
player.damage(Conf.actionDeniedPainAmount);
|
||||
if ((Board.getInstance().getFactionAt(loc).getTag(myFaction)) != null)
|
||||
me.msg(TL.ACTIONS_NOPERMISSIONPAIN.toString().replace("{action}", action.toString()).replace("{faction}", Board.getInstance().getFactionAt(loc).getTag(myFaction)));
|
||||
me.msg(replace.replace("{faction}", Board.getInstance().getFactionAt(loc).getTag(myFaction)));
|
||||
}
|
||||
if (myFaction.getTag(me.getFaction()) != null && action != null)
|
||||
me.msg(TL.ACTIONS_NOPERMISSION.toString().replace("{faction}", myFaction.getTag(me.getFaction())).replace("{action}", action.toString()));
|
||||
return false;
|
||||
} else if (access == Access.ALLOW) return true;
|
||||
}
|
||||
me.msg(TL.ACTIONS_NOPERMISSION.toString().replace("{faction}", myFaction.getTag(me.getFaction())).replace("{action}", action.toString()));
|
||||
return false;
|
||||
}
|
||||
@ -417,8 +420,9 @@ public class FactionsBlockListener implements Listener {
|
||||
|
||||
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
|
||||
public void onFrostWalker(EntityBlockFormEvent event) {
|
||||
if (event.getEntity() == null || event.getEntity().getType() != EntityType.PLAYER || event.getBlock() == null)
|
||||
if (event.getEntity() == null || event.getEntity().getType() != EntityType.PLAYER || event.getBlock() == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
Player player = (Player) event.getEntity();
|
||||
Location location = event.getBlock().getLocation();
|
||||
@ -426,10 +430,14 @@ public class FactionsBlockListener implements Listener {
|
||||
// only notify every 10 seconds
|
||||
FPlayer fPlayer = FPlayers.getInstance().getByPlayer(player);
|
||||
boolean justCheck = fPlayer.getLastFrostwalkerMessage() + 10000 > System.currentTimeMillis();
|
||||
if (!justCheck) fPlayer.setLastFrostwalkerMessage();
|
||||
if (!justCheck) {
|
||||
fPlayer.setLastFrostwalkerMessage();
|
||||
}
|
||||
|
||||
// Check if they have build permissions here. If not, block this from happening.
|
||||
if (!playerCanBuildDestroyBlock(player, location, "frostwalk", justCheck)) event.setCancelled(true);
|
||||
if (!playerCanBuildDestroyBlock(player, location, PermissableAction.FROST_WALK.toString(), justCheck)) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
@ -452,16 +460,6 @@ public class FactionsBlockListener implements Listener {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void entityDamage(EntityDamageEvent e) {
|
||||
if (!Conf.gracePeriod) return;
|
||||
|
||||
if (e.getEntity() instanceof Player) {
|
||||
if (e.getCause() == EntityDamageEvent.DamageCause.PROJECTILE) {
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onTNTPlace(BlockPlaceEvent e1) {
|
||||
|
@ -21,6 +21,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class ShopGUIFrame {
|
||||
@ -47,7 +48,7 @@ public class ShopGUIFrame {
|
||||
for (int a = 1; a <= items; a++) {
|
||||
String s = a + "";
|
||||
int slot = ShopConfig.getShop().getInt("items." + s + ".slot");
|
||||
Material material = XMaterial.matchXMaterial(ShopConfig.getShop().getString("items." + s + ".block")).get().parseMaterial();
|
||||
Material material = XMaterial.matchXMaterial(Objects.requireNonNull(ShopConfig.getShop().getString("items." + s + ".block"))).get().parseMaterial();
|
||||
int cost = ShopConfig.getShop().getInt("items." + s + ".cost");
|
||||
String name = ShopConfig.getShop().getString("items." + s + ".name");
|
||||
boolean glowing = ShopConfig.getShop().getBoolean("items." + s + ".glowing");
|
||||
|
@ -814,8 +814,11 @@ public abstract class MemoryFPlayer implements FPlayer {
|
||||
setFlying(false);
|
||||
if (myFaction.isNormal() && !perm && myFaction.getFPlayers().isEmpty()) {
|
||||
// Remove this faction
|
||||
|
||||
if(FactionsPlugin.getInstance().getConfig().getBoolean("faction-disband-broadcast")) {
|
||||
for (FPlayer fplayer : FPlayers.getInstance().getOnlinePlayers())
|
||||
fplayer.msg(TL.LEAVE_DISBANDED, myFaction.describeTo(fplayer, true));
|
||||
}
|
||||
|
||||
|
||||
FactionDisbandEvent disbandEvent = new FactionDisbandEvent(getPlayer(), myFaction.getId(), PlayerDisbandReason.LEAVE);
|
||||
|
@ -674,6 +674,11 @@ public enum TL {
|
||||
COMMAND_PERM_TOP("RCT MEM OFF ALLY TRUCE NEUT ENEMY"),
|
||||
COMMAND_PERM_LOCKED("&cThis permission has been locked by the server"),
|
||||
|
||||
|
||||
COMMAND_POINTS_SHOW_DESCRIPTION("See the point balance of factions"),
|
||||
COMMAND_POINTS_SHOW_WILDERNESS("&c&l[!] &7You may not check the point balance of wilderness!"),
|
||||
COMMAND_POINTS_SHOW_OWN("&c&l[!] &7Your faction has &e%1$s &7points."),
|
||||
COMMAND_POINTS_SHOW("&c&l[!] &e%1$s &7has a point balance of &b%2$s&7."),
|
||||
COMMAND_POINTS_FAILURE("&c&l[!] &c{faction} does not exist."),
|
||||
COMMAND_POINTS_SUCCESSFUL("&c&l[!] &7You have added &e%1$s &7points to &b%2$s&7. &b%2$s's &7New Point Balance: &e%3$s"),
|
||||
COMMAND_POINTS_INSUFFICIENT("&c&l[!] &7You may not add/set/remove a negative number of points to a faction!"),
|
||||
|
Loading…
Reference in New Issue
Block a user