This commit is contained in:
mfnalex 2020-05-17 21:20:15 +02:00
parent 48cf809511
commit d322c48d0f
9 changed files with 81 additions and 12 deletions

View File

@ -1,5 +1,11 @@
# Changelog
## 7.6-pre1
- Added options "toggle", "on", "off" to /chestsort. When no option is specified, "toggle" is assumed
- Improved the messages sent by the update checker, including links for download, donation and changelog
- Updated bStats to version 1.6
- Removed some unnecessary imports
## 7.5
- Added support for most Shulkerbox/Backpack plugins. Some of those (e.g. [Shulker Backpacks](https://www.spigotmc.org/resources/shulker-backpacks-1-13-1-15.67466/)) are fully compatible, while others (e.g. [BetterShulkerBoxes](https://www.spigotmc.org/resources/bsb-better-shulker-boxes.58837/)) will only work with hotkeys, not automatic sorting.
- Added Hungarian translation

12
pom.xml
View File

@ -6,7 +6,7 @@
<groupId>de.jeffclan</groupId>
<artifactId>JeffChestSort</artifactId>
<version>7.5</version>
<version>7.6-pre1</version>
<packaging>jar</packaging>
<name>JeffChestSort</name>
@ -86,16 +86,22 @@
<version>1.15.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-api</artifactId>
<version>1.15-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.bstats</groupId>
<artifactId>bstats-bukkit</artifactId>
<version>1.4</version>
<version>1.6</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.shampaggon.crackshot</groupId>
<artifactId>CSUtility</artifactId>
<version>latest</version>
<version>0.98.9</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/CrackShot.jar</systemPath>
</dependency>

View File

@ -56,7 +56,23 @@ public class JeffChestSortCommandExecutor implements CommandExecutor {
// Settings GUI End
JeffChestSortPlayerSetting setting = plugin.PerPlayerSettings.get(p.getUniqueId().toString());
setting.sortingEnabled = !setting.sortingEnabled;
if(args.length>0
&& !args[0].equalsIgnoreCase("toggle")
&& !args[0].equalsIgnoreCase("on")
&& !args[0].equalsIgnoreCase("off")) {
p.sendMessage(String.format(plugin.messages.MSG_INVALIDOPTIONS,"\""+args[0]+"\"","\"toggle\", \"on\", \"off\", \"hotkeys\""));
return true;
}
if(args.length==0 || args[0].equalsIgnoreCase("toggle")) {
setting.sortingEnabled = !setting.sortingEnabled;
}
else if(args[0].equalsIgnoreCase("on")) {
setting.sortingEnabled = true;
}
else if(args[0].equalsIgnoreCase("off")) {
setting.sortingEnabled = false;
}
setting.hasSeenMessage=true;
if (setting.sortingEnabled) {

View File

@ -7,7 +7,6 @@ import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.block.Chest;
import org.bukkit.block.DoubleChest;
import org.bukkit.block.Hopper;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player;

View File

@ -18,7 +18,6 @@ import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.inventory.meta.PotionMeta;
import org.bukkit.potion.PotionData;
import org.bukkit.potion.PotionEffect;
import de.jeffclan.hooks.CrackShotHook;
import de.jeffclan.hooks.InventoryPagesHook;

View File

@ -33,7 +33,6 @@ import java.io.BufferedWriter;
*/
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
@ -358,6 +357,7 @@ public class JeffChestSortPlugin extends JavaPlugin {
private void registerMetrics() {
// Metrics will need json-simple with 1.14 API.
//Metrics bStats = new Metrics(this,3089); // Metrics will need plugin ID with bStats 1.7+
Metrics bStats = new Metrics(this);
bStats.addCustomChart(new Metrics.SimplePie("sorting_method", () -> sortingMethod));
bStats.addCustomChart(new Metrics.SimplePie("config_version",

View File

@ -9,7 +9,7 @@ import org.bukkit.command.TabCompleter;
public class JeffChestSortTabCompleter implements TabCompleter {
static final String[] chestsortOptions = { "hotkeys","toggle" };
static final String[] chestsortOptions = { "toggle","on","off","hotkeys" };
static final String[] invsortOptions = { "all", "hotbar", "inv" };
private List<String> getMatchingOptions(String entered, String[] options) {

View File

@ -9,6 +9,11 @@ import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import net.md_5.bungee.api.chat.ClickEvent;
import net.md_5.bungee.api.chat.ComponentBuilder;
import net.md_5.bungee.api.chat.HoverEvent;
import net.md_5.bungee.api.chat.TextComponent;
public class JeffChestSortUpdateChecker {
// This checks for updates. A txt file is downloaded. If the txt file contains a
@ -28,16 +33,54 @@ public class JeffChestSortUpdateChecker {
// This text file always contains a string with the latest version, e.g. 3.7.1
String latestVersionLink = "https://api.jeff-media.de/chestsort/chestsort-latest-version.txt";
String downloadLink = "https://www.chestsort.de";
String downloadLink = "https://chestsort.de/download";
String changelogLink = "https://chestsort.de/changelog";
String donateLink = "https://chestsort.de/donate";
private String currentVersion = "undefined";
private String latestVersion = "undefined";
private TextComponent createLink(String text, String link, net.md_5.bungee.api.ChatColor color) {
// Hover text
ComponentBuilder hoverCB = new ComponentBuilder(
text+" Link: ").bold(true)
.append(link).bold(false);
TextComponent tc = new TextComponent(text);
tc.setBold(true);
tc.setColor(color);
tc.setClickEvent(new ClickEvent(ClickEvent.Action.OPEN_URL,link));
tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT,hoverCB.create()));
return tc;
}
private void sendLinks(Player p) {
TextComponent text = new TextComponent("");
TextComponent download = createLink("Download",downloadLink,net.md_5.bungee.api.ChatColor.GOLD);
TextComponent donate = createLink("Donate",donateLink,net.md_5.bungee.api.ChatColor.GOLD);
TextComponent changelog = createLink("Changelog",changelogLink,net.md_5.bungee.api.ChatColor.GOLD);
TextComponent placeholder = new TextComponent(" | ");
placeholder.setColor(net.md_5.bungee.api.ChatColor.GRAY);
text.addExtra(download);
text.addExtra(placeholder);
text.addExtra(donate);
text.addExtra(placeholder);
text.addExtra(changelog);
p.spigot().sendMessage(text);
}
void sendUpdateMessage(Player p) {
if (!latestVersion.equals("undefined")) {
if (!currentVersion.equals(latestVersion)) {
if (!currentVersion.equals(latestVersion)) {
p.sendMessage(ChatColor.GRAY + "There is a new version of " + ChatColor.GOLD + "ChestSort"
+ ChatColor.GRAY + " available.");
p.sendMessage(ChatColor.GRAY + "Please download at " + downloadLink);
sendLinks(p);
p.sendMessage(ChatColor.DARK_GRAY + "Your version: "+currentVersion + " | Latest version: "+ latestVersion);
p.sendMessage("");
}
}
}

View File

@ -1,6 +1,6 @@
main: de.jeffclan.JeffChestSort.JeffChestSortPlugin
name: ChestSort
version: 7.5
version: 7.6-pre1
api-version: 1.13
description: Allows automatic chest sorting
author: mfnalex