1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Cargo - small performance improvements

This commit is contained in:
DNx 2020-04-05 09:26:46 +07:00
parent e07c2f5263
commit ab41129d6b
2 changed files with 19 additions and 13 deletions

View File

@ -129,6 +129,7 @@ public final class SlimefunUtils {
return ((SlimefunItemStack) item).getItemID().equals(((SlimefunItemStack) sfitem).getItemID()); return ((SlimefunItemStack) item).getItemID().equals(((SlimefunItemStack) sfitem).getItemID());
} }
boolean sfItemHasMeta = sfitem.hasItemMeta();
if (item.hasItemMeta()) { if (item.hasItemMeta()) {
ItemMeta itemMeta = item.getItemMeta(); ItemMeta itemMeta = item.getItemMeta();
if (sfitem instanceof SlimefunItemStack) { if (sfitem instanceof SlimefunItemStack) {
@ -141,12 +142,12 @@ public final class SlimefunUtils {
return equalsItemMeta(itemMeta, meta, checkLore); return equalsItemMeta(itemMeta, meta, checkLore);
} }
if (sfitem.hasItemMeta()) { if (sfItemHasMeta) {
return equalsItemMeta(itemMeta, sfitem.getItemMeta(), checkLore); return equalsItemMeta(itemMeta, sfitem.getItemMeta(), checkLore);
} }
} }
else { else {
return !sfitem.hasItemMeta(); return !sfItemHasMeta;
} }
return false; return false;

View File

@ -2,6 +2,7 @@ package me.mrCookieSlime.Slimefun.api;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
import java.io.StringWriter;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
import java.util.ArrayList; import java.util.ArrayList;
@ -14,6 +15,8 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import com.google.gson.*;
import com.google.gson.stream.JsonWriter;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.Location; import org.bukkit.Location;
@ -24,11 +27,6 @@ import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.HumanEntity; import org.bukkit.entity.HumanEntity;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonPrimitive;
import io.github.thebusybiscuit.cscorelib2.math.DoubleHandler; import io.github.thebusybiscuit.cscorelib2.math.DoubleHandler;
import io.github.thebusybiscuit.slimefun4.utils.PatternUtils; import io.github.thebusybiscuit.slimefun4.utils.PatternUtils;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
@ -378,14 +376,21 @@ public class BlockStorage {
} }
} }
private static String serializeBlockInfo(Config cfg) { private static String serializeBlockInfo(Config cfg) {
JsonObject json = new JsonObject(); try {
StringWriter stringWriter = new StringWriter();
JsonWriter jsonWriter = new JsonWriter(stringWriter);
jsonWriter.setLenient(true);
jsonWriter.beginObject();
for (String key : cfg.getKeys()) { for (String key : cfg.getKeys()) {
json.add(key, new JsonPrimitive(cfg.getString(key))); jsonWriter.name(key).value(cfg.getString(key));
}
jsonWriter.endObject();
return stringWriter.toString();
} catch (IOException e) {
throw new AssertionError(e);
} }
return json.toString();
} }
public static String getLocationInfo(Location l, String key) { public static String getLocationInfo(Location l, String key) {