Cleaned up FastItemStack

This commit is contained in:
Auxilor
2021-08-07 13:11:09 +01:00
parent f64d69f084
commit 09f45c0ab5
3 changed files with 31 additions and 34 deletions

View File

@@ -74,27 +74,26 @@ class NMSFastItemStack(itemStack: org.bukkit.inventory.ItemStack) : EcoFastItemS
return loreCache as List<String>
}
val lore: MutableList<String> = ArrayList()
for (s in loreJSON) {
for (s in getLoreJSON()) {
lore.add(StringUtils.jsonToLegacy(s))
}
loreCache = lore
return lore
}
private val loreJSON: List<String>
get() {
val displayTag = handle.a("display")
return if (displayTag.hasKey("Lore")) {
val loreTag = displayTag.getList("Lore", CraftMagicNumbers.NBT.TAG_STRING)
val lore: MutableList<String> = ArrayList(loreTag.size)
for (i in loreTag.indices) {
lore.add(loreTag.getString(i))
}
lore
} else {
ArrayList()
private fun getLoreJSON(): List<String> {
val displayTag = handle.a("display")
return if (displayTag.hasKey("Lore")) {
val loreTag = displayTag.getList("Lore", CraftMagicNumbers.NBT.TAG_STRING)
val lore: MutableList<String> = ArrayList(loreTag.size)
for (i in loreTag.indices) {
lore.add(loreTag.getString(i))
}
lore
} else {
ArrayList()
}
}
private fun apply() {
if (bukkit !is CraftItemStack) {

View File

@@ -5,7 +5,6 @@ import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import com.mojang.brigadier.exceptions.CommandSyntaxException;
import com.willfp.eco.core.display.Display;
import proxy.ChatComponentProxy;
import net.minecraft.nbt.TagParser;
import net.minecraft.network.chat.BaseComponent;
import net.minecraft.network.chat.Component;
@@ -17,8 +16,7 @@ import org.bukkit.craftbukkit.v1_17_R1.inventory.CraftItemStack;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import java.util.Arrays;
import proxy.ChatComponentProxy;
public final class ChatComponent implements ChatComponentProxy {
@Override
@@ -50,10 +48,11 @@ public final class ChatComponent implements ChatComponentProxy {
}
if (component instanceof TranslatableComponent baseComponent) {
Arrays.stream(baseComponent.getArgs())
.filter(o -> o instanceof Component)
.map(o -> (Component) o)
.forEach(o -> modifyBaseComponent(o, player));
for (Object arg : baseComponent.getArgs()) {
if (arg instanceof Component) {
modifyBaseComponent((Component) arg, player);
}
}
}
HoverEvent hoverable = component.getStyle().getHoverEvent();

View File

@@ -91,7 +91,7 @@ class NMSFastItemStack(itemStack: org.bukkit.inventory.ItemStack) : EcoFastItemS
val lore: MutableList<String> = ArrayList()
for (s in loreJSON) {
for (s in getLoreJSON()) {
lore.add(StringUtils.jsonToLegacy(s))
}
@@ -99,22 +99,21 @@ class NMSFastItemStack(itemStack: org.bukkit.inventory.ItemStack) : EcoFastItemS
return lore
}
private val loreJSON: List<String>
get() {
val displayTag = handle.getOrCreateTagElement("display")
return if (displayTag.contains("Lore")) {
val loreTag = displayTag.getList("Lore", CraftMagicNumbers.NBT.TAG_STRING)
val lore: MutableList<String> = ArrayList(loreTag.size)
private fun getLoreJSON(): List<String> {
val displayTag = handle.getOrCreateTagElement("display")
return if (displayTag.contains("Lore")) {
val loreTag = displayTag.getList("Lore", CraftMagicNumbers.NBT.TAG_STRING)
val lore: MutableList<String> = ArrayList(loreTag.size)
for (i in loreTag.indices) {
lore.add(loreTag.getString(i))
}
lore
} else {
ArrayList()
for (i in loreTag.indices) {
lore.add(loreTag.getString(i))
}
lore
} else {
ArrayList()
}
}
private fun apply() {
if (bukkit !is CraftItemStack) {