- Fixed not being able to rename non-AE items.
- Using correct version number again... - Removed unused methods in Metrics class, reducing jar size by 12.5%.
This commit is contained in:
		
							
								
								
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								pom.xml
									
									
									
									
									
								
							@@ -3,7 +3,7 @@
 | 
			
		||||
	<modelVersion>4.0.0</modelVersion>
 | 
			
		||||
	<groupId>nl.pim16aap2</groupId>
 | 
			
		||||
	<artifactId>ArmoredElytra</artifactId>
 | 
			
		||||
	<version>2.1.9-SNAPSHOT</version>
 | 
			
		||||
	<version>2.2.1-SNAPSHOT</version>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	<repositories>
 | 
			
		||||
 
 | 
			
		||||
@@ -69,6 +69,7 @@ public class ArmoredElytra extends JavaPlugin implements Listener
 | 
			
		||||
			if (updateStatus > 0)
 | 
			
		||||
			{
 | 
			
		||||
				// TODO: Insert download link to latest version.
 | 
			
		||||
				// TODO: Use Spiget instead of the unreliable BukkitDev's update stuff?
 | 
			
		||||
				// TODO: Add auto update option?
 | 
			
		||||
				
 | 
			
		||||
				// Load the loginHandler to show messages to the user when they join.
 | 
			
		||||
@@ -91,13 +92,13 @@ public class ArmoredElytra extends JavaPlugin implements Listener
 | 
			
		||||
		// Are stats allowed?
 | 
			
		||||
		if (config.getBool("allowStats"))
 | 
			
		||||
		{
 | 
			
		||||
			myLogger(Level.INFO, "Enabling stats!");
 | 
			
		||||
			myLogger(Level.INFO, "Enabling stats! Thanks, it really helps!");
 | 
			
		||||
			@SuppressWarnings("unused")
 | 
			
		||||
			Metrics metrics = new Metrics(this);
 | 
			
		||||
		} 
 | 
			
		||||
		else 
 | 
			
		||||
			// Y u do dis? :(
 | 
			
		||||
			myLogger(Level.INFO, "Stats disabled, not laoding stats :(");
 | 
			
		||||
			myLogger(Level.INFO, "Stats disabled, not laoding stats ::(... Please consider enabling it! I am a simple man, seeing higher user numbers helps me stay motivated!");
 | 
			
		||||
 | 
			
		||||
		
 | 
			
		||||
		
 | 
			
		||||
 
 | 
			
		||||
@@ -1,17 +1,13 @@
 | 
			
		||||
package nl.pim16aap2.armoredElytra.handlers;
 | 
			
		||||
 | 
			
		||||
import java.lang.reflect.Field;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Random;
 | 
			
		||||
import java.util.logging.Level;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.Bukkit;
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftItemStack;
 | 
			
		||||
import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftInventoryAnvil;
 | 
			
		||||
import org.bukkit.enchantments.Enchantment;
 | 
			
		||||
import org.bukkit.entity.Player;
 | 
			
		||||
import org.bukkit.event.EventHandler;
 | 
			
		||||
@@ -28,9 +24,6 @@ import org.bukkit.inventory.ItemStack;
 | 
			
		||||
import org.bukkit.inventory.meta.EnchantmentStorageMeta;
 | 
			
		||||
import org.bukkit.scheduler.BukkitRunnable;
 | 
			
		||||
 | 
			
		||||
import net.minecraft.server.v1_12_R1.ContainerAnvil;
 | 
			
		||||
import net.minecraft.server.v1_12_R1.Container;
 | 
			
		||||
import net.minecraft.server.v1_12_R1.ContainerDispenser;
 | 
			
		||||
import nl.pim16aap2.armoredElytra.ArmoredElytra;
 | 
			
		||||
import nl.pim16aap2.armoredElytra.nms.NBTEditor;
 | 
			
		||||
import nl.pim16aap2.armoredElytra.util.Action;
 | 
			
		||||
@@ -390,8 +383,8 @@ public class EventHandlers implements Listener
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        // Check if either itemA or itemB is unoccupied.
 | 
			
		||||
        if (itemA == null || itemB == null) 
 | 
			
		||||
        		// If Item2 is occupied despite itemA or itemB not being occupied.
 | 
			
		||||
        if ((itemA == null || itemB == null) && nbtEditor.getArmorTier(event.getInventory().getItem(2)) != ArmorTier.NONE) 
 | 
			
		||||
        		// If Item2 is occupied despite itemA or itemB not being occupied. (only for armored elytra)/
 | 
			
		||||
        		event.setResult(null);
 | 
			
		||||
		p.updateInventory();
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package nl.pim16aap2.armoredElytra.nms;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.craftbukkit.v1_10_R1.inventory.CraftItemStack;
 | 
			
		||||
import org.bukkit.inventory.ItemStack;
 | 
			
		||||
import org.bukkit.inventory.meta.ItemMeta;
 | 
			
		||||
@@ -78,6 +79,11 @@ public class NBTEditor_V1_10_R1 implements NBTEditor
 | 
			
		||||
	@Override
 | 
			
		||||
	public ArmorTier getArmorTier(ItemStack item)
 | 
			
		||||
	{
 | 
			
		||||
		if (item == null)
 | 
			
		||||
			return ArmorTier.NONE;
 | 
			
		||||
		if (item.getType() != Material.ELYTRA)
 | 
			
		||||
			return ArmorTier.NONE;
 | 
			
		||||
		
 | 
			
		||||
		// Get the NBT tags from the item.
 | 
			
		||||
		NBTTagCompound compound = CraftItemStack.asNMSCopy(item).getTag();
 | 
			
		||||
		if (compound == null)
 | 
			
		||||
 
 | 
			
		||||
@@ -79,6 +79,8 @@ public class NBTEditor_V1_11_R1 implements NBTEditor
 | 
			
		||||
	@Override
 | 
			
		||||
	public ArmorTier getArmorTier(ItemStack item)
 | 
			
		||||
	{
 | 
			
		||||
		if (item == null)
 | 
			
		||||
			return ArmorTier.NONE;
 | 
			
		||||
		if (item.getType() != Material.ELYTRA)
 | 
			
		||||
			return ArmorTier.NONE;
 | 
			
		||||
		
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package nl.pim16aap2.armoredElytra.nms;
 | 
			
		||||
import java.util.Arrays;
 | 
			
		||||
 | 
			
		||||
import org.bukkit.ChatColor;
 | 
			
		||||
import org.bukkit.Material;
 | 
			
		||||
import org.bukkit.craftbukkit.v1_12_R1.inventory.CraftItemStack;
 | 
			
		||||
import org.bukkit.inventory.ItemStack;
 | 
			
		||||
import org.bukkit.inventory.meta.ItemMeta;
 | 
			
		||||
@@ -78,6 +79,11 @@ public class NBTEditor_V1_12_R1 implements NBTEditor
 | 
			
		||||
	@Override
 | 
			
		||||
	public ArmorTier getArmorTier(ItemStack item)
 | 
			
		||||
	{
 | 
			
		||||
		if (item == null)
 | 
			
		||||
			return ArmorTier.NONE;
 | 
			
		||||
		if (item.getType() != Material.ELYTRA)
 | 
			
		||||
			return ArmorTier.NONE;
 | 
			
		||||
		
 | 
			
		||||
		// Get the NBT tags from the item.
 | 
			
		||||
		NBTTagCompound compound = CraftItemStack.asNMSCopy(item).getTag();
 | 
			
		||||
		if (compound == null)
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,9 @@ import java.net.URL;
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.Collection;
 | 
			
		||||
import java.util.List;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
import java.util.Timer;
 | 
			
		||||
import java.util.TimerTask;
 | 
			
		||||
import java.util.UUID;
 | 
			
		||||
import java.util.concurrent.Callable;
 | 
			
		||||
import java.util.logging.Level;
 | 
			
		||||
import java.util.zip.GZIPOutputStream;
 | 
			
		||||
 | 
			
		||||
@@ -108,7 +106,6 @@ public class Metrics {
 | 
			
		||||
        // Load the data
 | 
			
		||||
        serverUUID = config.getString("serverUuid");
 | 
			
		||||
        logFailedRequests = config.getBoolean("logFailedRequests", false);
 | 
			
		||||
        if (config.getBoolean("enabled", true)) {
 | 
			
		||||
        boolean found = false;
 | 
			
		||||
        // Search for all other bStats Metrics classes to see if we are the first one
 | 
			
		||||
        for (Class<?> service : Bukkit.getServicesManager().getKnownServices()) {
 | 
			
		||||
@@ -125,19 +122,6 @@ public class Metrics {
 | 
			
		||||
            startSubmitting();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Adds a custom chart.
 | 
			
		||||
     *
 | 
			
		||||
     * @param chart The chart to add.
 | 
			
		||||
     */
 | 
			
		||||
    public void addCustomChart(CustomChart chart) {
 | 
			
		||||
        if (chart == null) {
 | 
			
		||||
            throw new IllegalArgumentException("Chart cannot be null!");
 | 
			
		||||
        }
 | 
			
		||||
        charts.add(chart);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Starts the Scheduler which submits our data every 30 minutes.
 | 
			
		||||
@@ -376,303 +360,6 @@ public class Metrics {
 | 
			
		||||
            }
 | 
			
		||||
            return chart;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected abstract JSONObject getChartData() throws Exception;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom simple pie.
 | 
			
		||||
     */
 | 
			
		||||
    public static class SimplePie extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<String> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public SimplePie(String chartId, Callable<String> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        protected JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            String value = callable.call();
 | 
			
		||||
            if (value == null || value.isEmpty()) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            data.put("value", value);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom advanced pie.
 | 
			
		||||
     */
 | 
			
		||||
    public static class AdvancedPie extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<Map<String, Integer>> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public AdvancedPie(String chartId, Callable<Map<String, Integer>> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        protected JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            JSONObject values = new JSONObject();
 | 
			
		||||
            Map<String, Integer> map = callable.call();
 | 
			
		||||
            if (map == null || map.isEmpty()) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            boolean allSkipped = true;
 | 
			
		||||
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
 | 
			
		||||
                if (entry.getValue() == 0) {
 | 
			
		||||
                    continue; // Skip this invalid
 | 
			
		||||
                }
 | 
			
		||||
                allSkipped = false;
 | 
			
		||||
                values.put(entry.getKey(), entry.getValue());
 | 
			
		||||
            }
 | 
			
		||||
            if (allSkipped) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            data.put("values", values);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom drilldown pie.
 | 
			
		||||
     */
 | 
			
		||||
    public static class DrilldownPie extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<Map<String, Map<String, Integer>>> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public DrilldownPie(String chartId, Callable<Map<String, Map<String, Integer>>> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        public JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            JSONObject values = new JSONObject();
 | 
			
		||||
            Map<String, Map<String, Integer>> map = callable.call();
 | 
			
		||||
            if (map == null || map.isEmpty()) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            boolean reallyAllSkipped = true;
 | 
			
		||||
            for (Map.Entry<String, Map<String, Integer>> entryValues : map.entrySet()) {
 | 
			
		||||
                JSONObject value = new JSONObject();
 | 
			
		||||
                boolean allSkipped = true;
 | 
			
		||||
                for (Map.Entry<String, Integer> valueEntry : map.get(entryValues.getKey()).entrySet()) {
 | 
			
		||||
                    value.put(valueEntry.getKey(), valueEntry.getValue());
 | 
			
		||||
                    allSkipped = false;
 | 
			
		||||
                }
 | 
			
		||||
                if (!allSkipped) {
 | 
			
		||||
                    reallyAllSkipped = false;
 | 
			
		||||
                    values.put(entryValues.getKey(), value);
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
            if (reallyAllSkipped) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            data.put("values", values);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom single line chart.
 | 
			
		||||
     */
 | 
			
		||||
    public static class SingleLineChart extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<Integer> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public SingleLineChart(String chartId, Callable<Integer> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        protected JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            int value = callable.call();
 | 
			
		||||
            if (value == 0) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            data.put("value", value);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom multi line chart.
 | 
			
		||||
     */
 | 
			
		||||
    public static class MultiLineChart extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<Map<String, Integer>> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public MultiLineChart(String chartId, Callable<Map<String, Integer>> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        protected JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            JSONObject values = new JSONObject();
 | 
			
		||||
            Map<String, Integer> map = callable.call();
 | 
			
		||||
            if (map == null || map.isEmpty()) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            boolean allSkipped = true;
 | 
			
		||||
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
 | 
			
		||||
                if (entry.getValue() == 0) {
 | 
			
		||||
                    continue; // Skip this invalid
 | 
			
		||||
                }
 | 
			
		||||
                allSkipped = false;
 | 
			
		||||
                values.put(entry.getKey(), entry.getValue());
 | 
			
		||||
            }
 | 
			
		||||
            if (allSkipped) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            data.put("values", values);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom simple bar chart.
 | 
			
		||||
     */
 | 
			
		||||
    public static class SimpleBarChart extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<Map<String, Integer>> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public SimpleBarChart(String chartId, Callable<Map<String, Integer>> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        protected JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            JSONObject values = new JSONObject();
 | 
			
		||||
            Map<String, Integer> map = callable.call();
 | 
			
		||||
            if (map == null || map.isEmpty()) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            for (Map.Entry<String, Integer> entry : map.entrySet()) {
 | 
			
		||||
                JSONArray categoryValues = new JSONArray();
 | 
			
		||||
                categoryValues.add(entry.getValue());
 | 
			
		||||
                values.put(entry.getKey(), categoryValues);
 | 
			
		||||
            }
 | 
			
		||||
            data.put("values", values);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Represents a custom advanced bar chart.
 | 
			
		||||
     */
 | 
			
		||||
    public static class AdvancedBarChart extends CustomChart {
 | 
			
		||||
 | 
			
		||||
        private final Callable<Map<String, int[]>> callable;
 | 
			
		||||
 | 
			
		||||
        /**
 | 
			
		||||
         * Class constructor.
 | 
			
		||||
         *
 | 
			
		||||
         * @param chartId The id of the chart.
 | 
			
		||||
         * @param callable The callable which is used to request the chart data.
 | 
			
		||||
         */
 | 
			
		||||
        public AdvancedBarChart(String chartId, Callable<Map<String, int[]>> callable) {
 | 
			
		||||
            super(chartId);
 | 
			
		||||
            this.callable = callable;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        @SuppressWarnings("unchecked")
 | 
			
		||||
		@Override
 | 
			
		||||
        protected JSONObject getChartData() throws Exception {
 | 
			
		||||
            JSONObject data = new JSONObject();
 | 
			
		||||
            JSONObject values = new JSONObject();
 | 
			
		||||
            Map<String, int[]> map = callable.call();
 | 
			
		||||
            if (map == null || map.isEmpty()) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            boolean allSkipped = true;
 | 
			
		||||
            for (Map.Entry<String, int[]> entry : map.entrySet()) {
 | 
			
		||||
                if (entry.getValue().length == 0) {
 | 
			
		||||
                    continue; // Skip this invalid
 | 
			
		||||
                }
 | 
			
		||||
                allSkipped = false;
 | 
			
		||||
                JSONArray categoryValues = new JSONArray();
 | 
			
		||||
                for (int categoryValue : entry.getValue()) {
 | 
			
		||||
                    categoryValues.add(categoryValue);
 | 
			
		||||
                }
 | 
			
		||||
                values.put(entry.getKey(), categoryValues);
 | 
			
		||||
            }
 | 
			
		||||
            if (allSkipped) {
 | 
			
		||||
                // Null = skip the chart
 | 
			
		||||
                return null;
 | 
			
		||||
            }
 | 
			
		||||
            data.put("values", values);
 | 
			
		||||
            return data;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
name: ArmoredElytra
 | 
			
		||||
main: nl.pim16aap2.armoredElytra.ArmoredElytra
 | 
			
		||||
version: 2.1.9
 | 
			
		||||
version: 2.2.1
 | 
			
		||||
author: Pim
 | 
			
		||||
commands:
 | 
			
		||||
  ArmoredElytra:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user