Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
dmccoystephenson committed Sep 15, 2021
2 parents fd19b43 + 9496ef4 commit 088c7c7
Show file tree
Hide file tree
Showing 8 changed files with 77 additions and 39 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Fiefs

## Description
Fiefs is an add-on plugin for Medieval Factions that allows faction members to create fiefs. Fiefs function as sub-factions, essentially.
Fiefs is an add-on plugin for [Medieval Factions](https://github.com/dmccoystephenson/Medieval-Factions) that allows faction members to create fiefs. Fiefs function as sub-factions, essentially.

## Installation
1) You can download the plugin from [this page](https://github.com/dmccoystephenson/Fiefs/releases).
Expand All @@ -12,7 +12,7 @@ Fiefs is an add-on plugin for Medieval Factions that allows faction members to c

## Usage
- [User Guide](https://github.com/dmccoystephenson/Fiefs/wiki/Guide)
- [List of Commands](https://github.com/dmccoystephenson/Fiefs/wiki/Commands) (coming soon)
- [List of Commands](https://github.com/dmccoystephenson/Fiefs/wiki/Commands)
- [FAQ](https://github.com/dmccoystephenson/Fiefs/wiki/FAQ) (coming soon)

## Support
Expand Down
30 changes: 24 additions & 6 deletions src/main/java/dansplugins/fiefs/CommandInterpreter.java
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package dansplugins.fiefs;

import dansplugins.factionsystem.externalapi.MF_Faction;
import dansplugins.fiefs.commands.*;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class CommandInterpreter {

Expand All @@ -26,6 +28,28 @@ public boolean interpretCommand(CommandSender sender, String label, String[] arg
return command.execute(sender, arguments);
}

// disallow the usage of most of the commands if Fiefs cannot utilize Medieval Factions
if (!MedievalFactionsIntegrator.getInstance().isMedievalFactionsAPIAvailable()) {
sender.sendMessage(ChatColor.RED + "Fiefs cannot utilize Medieval Factions for some reason. It may have to be updated.");
return false;
}

if (secondaryLabel.equalsIgnoreCase("checkclaim")) {
if (!checkPermission(sender, "fiefs.checkclaim")) { return false; }
CheckClaimCommand command = new CheckClaimCommand();
return command.execute(sender);
}

// disallow the usage of the most of the commands if the player's faction has disabled fiefs.
if (sender instanceof Player) {
Player player = (Player) sender;
MF_Faction playersFaction = MedievalFactionsIntegrator.getInstance().getAPI().getFaction(player);
if (playersFaction != null && !((boolean) playersFaction.getFlag("fiefsEnabled"))) {
player.sendMessage(ChatColor.RED + "Your faction has disabled fiefs.");
return false;
}
}

if (secondaryLabel.equalsIgnoreCase("list")) {
if (!checkPermission(sender, "fiefs.list")) { return false; }
ListCommand command = new ListCommand();
Expand Down Expand Up @@ -56,12 +80,6 @@ public boolean interpretCommand(CommandSender sender, String label, String[] arg
return command.execute(sender);
}

if (secondaryLabel.equalsIgnoreCase("checkclaim")) {
if (!checkPermission(sender, "fiefs.checkclaim")) { return false; }
CheckClaimCommand command = new CheckClaimCommand();
return command.execute(sender);
}

if (secondaryLabel.equalsIgnoreCase("info")) {
if (!checkPermission(sender, "fiefs.info")) { return false; }
InfoCommand command = new InfoCommand();
Expand Down
10 changes: 5 additions & 5 deletions src/main/java/dansplugins/fiefs/Fiefs.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ public static Fiefs getInstance() {
public void onEnable() {
instance = this;

int pluginId = 12743;
Metrics metrics = new Metrics(this, pluginId);

if (!(new File("./plugins/Fiefs/config.yml").exists())) {
ConfigManager.getInstance().saveMissingConfigDefaultsIfNotPresent();
}
Expand All @@ -35,17 +38,14 @@ public void onEnable() {
reloadConfig();
}

if (!MedievalFactionsIntegrator.getInstance().isMedievalFactionsPresent()) {
System.out.println("Medieval Factions wasn't found. Fiefs cannot enable.");
if (!MedievalFactionsIntegrator.getInstance().isMedievalFactionsAPIAvailable()) {
System.out.println("[Fiefs] Fiefs cannot enable.");
return;
}

StorageManager.getInstance().load();

EventRegistry.getInstance().registerEvents();

int pluginId = 12743;
Metrics metrics = new Metrics(this, pluginId);
}

@Override
Expand Down
15 changes: 12 additions & 3 deletions src/main/java/dansplugins/fiefs/MedievalFactionsIntegrator.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,15 @@ public class MedievalFactionsIntegrator {
private MedievalFactionsIntegrator() {
if (isMedievalFactionsPresent()) {
if (Fiefs.getInstance().isDebugEnabled()) { System.out.println("[DEBUG] Medieval Factions was found successfully!"); }
mf_api = new MedievalFactionsAPI();
try {
mf_api = new MedievalFactionsAPI();
}
catch(NoClassDefFoundError e) {
System.out.println("[Fiefs] There was a problem instantiating the Medieval Factions API. Medieval Factions might need to be updated.");
}
}
else {
if (Fiefs.getInstance().isDebugEnabled()) { System.out.println("[DEBUG] Medieval Factions was not found!"); }
System.out.println("[Fiefs] Medieval Factions was not found!");
}
}

Expand All @@ -26,7 +31,11 @@ public static MedievalFactionsIntegrator getInstance() {
return instance;
}

public boolean isMedievalFactionsPresent() {
public boolean isMedievalFactionsAPIAvailable() {
return isMedievalFactionsPresent() && mf_api != null;
}

private boolean isMedievalFactionsPresent() {
return (Bukkit.getServer().getPluginManager().getPlugin("MedievalFactions") != null);
}

Expand Down
32 changes: 16 additions & 16 deletions src/main/java/dansplugins/fiefs/commands/HelpCommand.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,26 +35,26 @@ private void sendUsageMessage(CommandSender sender) {

private void sendPageOne(CommandSender sender) {
sender.sendMessage(ChatColor.AQUA + "=== Fiefs Commands Page 1/" + maxPage + "===");
sender.sendMessage(ChatColor.AQUA + "/fi help");
sender.sendMessage(ChatColor.AQUA + "/fi list");
sender.sendMessage(ChatColor.AQUA + "/fi join");
sender.sendMessage(ChatColor.AQUA + "/fi info");
sender.sendMessage(ChatColor.AQUA + "/fi members");
sender.sendMessage(ChatColor.AQUA + "/fi leave");
sender.sendMessage(ChatColor.AQUA + "/fi checkclaim");
sender.sendMessage(ChatColor.AQUA + "/fi create");
sender.sendMessage(ChatColor.AQUA + "/fi invite");
sender.sendMessage(ChatColor.AQUA + "/fi help - View a list of helpful commands.");
sender.sendMessage(ChatColor.AQUA + "/fi list - List the fiefs in your faction.");
sender.sendMessage(ChatColor.AQUA + "/fi join - Join a fief you've been invited to.");
sender.sendMessage(ChatColor.AQUA + "/fi info - View your fief's or another fief's information.");
sender.sendMessage(ChatColor.AQUA + "/fi members - View your fief's or another fief's members.");
sender.sendMessage(ChatColor.AQUA + "/fi leave - Leave your fief.");
sender.sendMessage(ChatColor.AQUA + "/fi checkclaim - Check which fief owns a chunk.");
sender.sendMessage(ChatColor.AQUA + "/fi create - Create a fief.");
sender.sendMessage(ChatColor.AQUA + "/fi invite - Invite players to your fief.");
}

private void sendPageTwo(CommandSender sender) {
sender.sendMessage(ChatColor.AQUA + "=== Fiefs Commands Page 2/" + maxPage + "===");
sender.sendMessage(ChatColor.AQUA + "/fi disband");
sender.sendMessage(ChatColor.AQUA + "/fi claim");
sender.sendMessage(ChatColor.AQUA + "/fi unclaim");
sender.sendMessage(ChatColor.AQUA + "/fi desc");
sender.sendMessage(ChatColor.AQUA + "/fi kick");
sender.sendMessage(ChatColor.AQUA + "/fi transfer");
sender.sendMessage(ChatColor.AQUA + "/fi flags");
sender.sendMessage(ChatColor.AQUA + "/fi disband - Disband your fief.");
sender.sendMessage(ChatColor.AQUA + "/fi claim - Claim a chunk of land for your fief.");
sender.sendMessage(ChatColor.AQUA + "/fi unclaim - Unclaim a chunk of land for your fief.");
sender.sendMessage(ChatColor.AQUA + "/fi desc - Alter the description of your fief.");
sender.sendMessage(ChatColor.AQUA + "/fi kick - Kick a player from your fief.");
sender.sendMessage(ChatColor.AQUA + "/fi transfer - Transfer your fief to another player.");
sender.sendMessage(ChatColor.AQUA + "/fi flags - View and alter your fief's configuration.");
}

}
9 changes: 4 additions & 5 deletions src/main/java/dansplugins/fiefs/data/PersistentData.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public Fief getFief(String name) {

public Fief getFief(Player player) {
for (Fief fief : fiefs) {
if (fief.getOwnerUUID().equals(player.getUniqueId())) {
if (fief.isMember(player.getUniqueId())) {
return fief;
}
}
Expand All @@ -53,7 +53,7 @@ public Fief getFief(Player player) {

public Fief getFief(UUID playerUUID) {
for (Fief fief : fiefs) {
if (fief.getOwnerUUID().equals(playerUUID)) {
if (fief.isMember(playerUUID)) {
return fief;
}
}
Expand Down Expand Up @@ -128,11 +128,11 @@ public void sendListOfFiefsToPlayer(Player player) {
}

public void clearFiefs() {
// TODO: implement
fiefs.clear();
}

public void clearClaimedChunks() {
// TODO: implement
claimedChunks.clear();
}

public void addChunk(ClaimedChunk chunk) {
Expand All @@ -151,7 +151,6 @@ public ArrayList<ClaimedChunk> getClaimedChunks() {
return claimedChunks;
}


public int getNumChunksClaimedByFief(Fief playersFief) {
int count = 0;
for (ClaimedChunk chunk : claimedChunks) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import dansplugins.fiefs.MedievalFactionsIntegrator;
import dansplugins.fiefs.managers.ChunkManager;
import dansplugins.fiefs.managers.ConfigManager;
import dansplugins.fiefs.objects.ClaimedChunk;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
Expand All @@ -14,6 +15,12 @@ public class MoveHandler implements Listener {

@EventHandler()
public void handle(PlayerMoveEvent event) {

if (!ConfigManager.getInstance().getBoolean("enableTerritoryAlerts")) {
// territory alerts are disabled
return;
}

Player player = event.getPlayer();

ClaimedChunk fromChunk = ChunkManager.getInstance().getClaimedChunk(event.getFrom().getChunk());
Expand Down
9 changes: 7 additions & 2 deletions src/main/java/dansplugins/fiefs/managers/ConfigManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ public void saveMissingConfigDefaultsIfNotPresent() {
if (!getConfig().isSet("limitLand")) {
getConfig().set("limitLand", true);
}
if (!getConfig().isSet("enableTerritoryAlerts")) {
getConfig().set("enableTerritoryAlerts", true);
}
getConfig().options().copyDefaults(true);
Fiefs.getInstance().saveConfig();
}
Expand All @@ -59,7 +62,8 @@ public void setConfigOption(String option, String value, CommandSender sender) {
getConfig().set(option, Integer.parseInt(value));
sender.sendMessage(ChatColor.GREEN + "Integer set.");
} else if (option.equalsIgnoreCase("debugMode")
|| option.equalsIgnoreCase("limitLand")) {
|| option.equalsIgnoreCase("limitLand")
|| option.equalsIgnoreCase("enableTerritoryAlerts")) {
getConfig().set(option, Boolean.parseBoolean(value));
sender.sendMessage(ChatColor.GREEN + "Boolean set.");
} else if (option.equalsIgnoreCase("c")) { // no doubles yet
Expand All @@ -82,7 +86,8 @@ public void sendConfigList(CommandSender sender) {
sender.sendMessage(ChatColor.AQUA + "=== Config List ===");
sender.sendMessage(ChatColor.AQUA + "version: " + getConfig().getString("version")
+ ", debugMode: " + getBoolean("debugMode")
+ ", limitLand: " + getBoolean("limitLand"));
+ ", limitLand: " + getBoolean("limitLand")
+ ", enableTerritoryAlerts: " + getBoolean("enableTerritoryAlerts"));
}

public boolean hasBeenAltered() {
Expand Down

0 comments on commit 088c7c7

Please sign in to comment.