Skip to content

Commit

Permalink
Fixes and additions
Browse files Browse the repository at this point in the history
- Add message to player when target are auto-disabled
- Add link to default config with explained parameters in config.yml header
- Fix default compass modes
- Fix potential bug with NPC (from unknow plugin? no pb with citizens)
- Add a verification for invalid tracker names
  • Loading branch information
arboriginal committed Feb 16, 2019
1 parent 91d25ec commit ca5bdd8
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 6 deletions.
2 changes: 2 additions & 0 deletions lang/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ tracker_check_update_available: "* &6Tracker {tracker}: &bversion &l{version}&b
tracker_check_update_failed: "* &6Tracker {tracker}: &eCan't check for update"
# Message displayed when using the reload command and a tracker can't init correctly
tracker_disabled: "{prefix}&cTracker {tracker} can't be reloaded, it has been disabled."
# Message displayed when you set an invalid name in a tracker's config and can't override the value
tracker_disabled_invalid_name: "{prefix}&cName of tracker {tracker} is invalid, it has been disabled."

# Invalid choice in the config file for compasses default settings.
invalid_choice: "{prefix}&cInvalid default choice for {type} ({key}), using default"
Expand Down
2 changes: 2 additions & 0 deletions lang/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ tracker_check_update_available: "* &6Tracker {tracker}: &bversion &l{version}&b
tracker_check_update_failed: "* &6Tracker {tracker}: &eLa recherche de mise à jour a échoué"
# Message affiché quand la commande reload est utilisée et qu'un tracker ne s'initialise pas correctement
tracker_disabled: "{prefix}&cLe tracker {tracker} n'a pas pu être rechargé, il a été désactivé."
# Message affiché quand tu as mis un nom invalide dans la config d'un tracker
tracker_disabled_invalid_name: "{prefix}&cNom du tracker {tracker} invalide, il a été désactivé."

# Choix invalide dans le fichier de config pour les réglages par défaut des boussoles.
invalid_choice: "{prefix}&cChoix par défaut invalide pour {type} ({key}), utilisation de ceux par défaut"
Expand Down
7 changes: 5 additions & 2 deletions src/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Choose lang file you want to use, actually, only en and fr exists, but you can set what you want...
language: en # If this lang file doesn't exist, a new one is created (copy of english, so you can edit it).
# You can find the default config with description of parameters here:
# https://github.com/arboriginal/SimpleCompass/blob/master/src/config.yml

language: en # Choose lang file you want to use, actually, only en and fr exists, but you can set what you want:
# If this lang file doesn't exist, a new one is created (copy of english, so you can edit it).

# If true, when you (re)load the plugin, it try to check if a new version is available
check_update: true
Expand Down
2 changes: 1 addition & 1 deletion src/me/arboriginal/SimpleCompass/managers/DataManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ public CompassModes compassModeGet(Player player, CompassTypes type) {
String key = compassModeKey(player, type);

return CompassModes.valueOf(users.contains(key) ? users.getString(key)
: sc.config.getDefaults().getString("compass." + type + ".default.mode"));
: sc.config.getString("compass." + type + ".default.mode"));
}

public String compassModeKey(Player player, CompassTypes type) {
Expand Down
3 changes: 3 additions & 0 deletions src/me/arboriginal/SimpleCompass/managers/TargetManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import java.util.List;
import java.util.UUID;
import org.bukkit.entity.Player;
import com.google.common.collect.ImmutableMap;
import me.arboriginal.SimpleCompass.plugin.AbstractTracker;
import me.arboriginal.SimpleCompass.plugin.SimpleCompass;

Expand Down Expand Up @@ -123,6 +124,8 @@ public HashMap<String, ArrayList<double[]>> getTargetsCoords(Player player) {
stop.forEach((tracker, stopped) -> {
stopped.forEach(name -> {
tracker.disable(player, name);
tracker.sendMessage(player, "target_auto_disabled",
ImmutableMap.of("tracker", tracker.trackerName(), "target", name));
});
});
}
Expand Down
4 changes: 2 additions & 2 deletions src/me/arboriginal/SimpleCompass/plugin/SimpleCompass.java
Original file line number Diff line number Diff line change
Expand Up @@ -365,8 +365,8 @@ private Exception loadTrackerFile(File file) {
return loadTrackerException(loader, jar,
"Tracker {tracker} is using the ID {id} which is already used by {other}..."
.replace("{tracker}", file.getName()).replace("id", trackerID)
.replace("{other}", trackers.get(trackerID).getClass().getSimpleName()));

.replace("{other}", trackers.get(trackerID).getClass().getSimpleName()));
if (!((AbstractTracker) tracker).init())
return loadTrackerException(loader, jar,
"Tracker {tracker} failed on init...".replace("{tracker}", file.getName()).replace("id", trackerID));
Expand Down
1 change: 1 addition & 0 deletions src/me/arboriginal/SimpleCompass/utils/CacheUtil.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ public void clear(UUID uid, String key) {
}

public Object get(UUID uid, String key) {
if (!datas.containsKey(uid)) return null;
Data data = datas.get(uid).get(key);
return (data != null && (data.expire == PERMANENT || data.expire > now())) ? data.value : null;
}
Expand Down
13 changes: 13 additions & 0 deletions src/me/arboriginal/SimpleCompass/utils/ConfigUtil.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package me.arboriginal.SimpleCompass.utils;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
Expand All @@ -18,6 +19,7 @@
import me.arboriginal.SimpleCompass.compasses.AbstractCompass.CompassModes;
import me.arboriginal.SimpleCompass.compasses.AbstractCompass.CompassTypes;
import me.arboriginal.SimpleCompass.managers.CompassManager.RequirementsSections;
import me.arboriginal.SimpleCompass.plugin.AbstractTracker;
import me.arboriginal.SimpleCompass.plugin.AbstractTracker.TrackingActions;
import me.arboriginal.SimpleCompass.plugin.SimpleCompass;

Expand Down Expand Up @@ -222,6 +224,17 @@ private List<String> validateRequiredItems(CompassTypes type, RequirementsSectio
}

private void validateTrackerSettings() {
Iterator<String> it = sc.trackers.keySet().iterator();
while (it.hasNext()) {
String trackerID = it.next();

if (!((AbstractTracker) sc.trackers.get(trackerID)).trackerName().toLowerCase().matches("^[a-z0-9]+$")) {
it.remove();
sc.sendMessage(sc.getServer().getConsoleSender(), "tracker_disabled_invalid_name",
ImmutableMap.of("tracker", trackerID));
}
}

List<String> userPriorities = sc.config.getStringList("trackers_priorities");
List<String> readPriorities = new ArrayList<String>();

Expand Down
2 changes: 1 addition & 1 deletion src/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: SimpleCompass
description: Simple compass to help player who don't have sense of direction.
version: 0.9.6
version: 0.9.7

author: arboriginal
website: https://www.spigotmc.org/resources/simplecompass.63140/
Expand Down

0 comments on commit ca5bdd8

Please sign in to comment.