diff --git a/eco-core/core-nms/v1_16_R1/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R1/ChatComponent.java b/eco-core/core-nms/v1_16_R1/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R1/ChatComponent.java deleted file mode 100644 index 5cfaf4a..0000000 --- a/eco-core/core-nms/v1_16_R1/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R1/ChatComponent.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.willfp.ecoarmor.proxy.v1_16_R1; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.willfp.ecoarmor.display.ArmorDisplay; -import com.willfp.ecoarmor.proxy.proxies.ChatComponentProxy; -import net.minecraft.server.v1_16_R1.ChatBaseComponent; -import net.minecraft.server.v1_16_R1.ChatHoverable; -import net.minecraft.server.v1_16_R1.ChatMessage; -import net.minecraft.server.v1_16_R1.ChatModifier; -import net.minecraft.server.v1_16_R1.IChatBaseComponent; -import net.minecraft.server.v1_16_R1.MojangsonParser; -import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_16_R1.inventory.CraftItemStack; -import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.NotNull; - -import java.util.Arrays; - -public final class ChatComponent implements ChatComponentProxy { - @Override - public Object modifyComponent(@NotNull final Object object) { - if (!(object instanceof IChatBaseComponent)) { - return object; - } - - IChatBaseComponent chatComponent = (IChatBaseComponent) object; - chatComponent.stream().forEach(this::modifyBaseComponent); - - return chatComponent; - } - - private void modifyBaseComponent(@NotNull final IChatBaseComponent component) { - component.getSiblings().forEach(this::modifyBaseComponent); - if (component instanceof ChatMessage) { - Arrays.stream(((ChatMessage) component).getArgs()) - .filter(o -> o instanceof IChatBaseComponent) - .map(o -> (IChatBaseComponent) o) - .forEach(this::modifyBaseComponent); - } - - ChatHoverable hoverable = component.getChatModifier().getHoverEvent(); - - if (hoverable == null) { - return; - } - - JsonObject jsonObject = hoverable.b(); - JsonElement json = hoverable.b().get("contents"); - if (json.getAsJsonObject().get("id") == null) { - return; - } - if (json.getAsJsonObject().get("tag") == null) { - return; - } - String id = json.getAsJsonObject().get("id").toString(); - String tag = json.getAsJsonObject().get("tag").toString(); - ItemStack itemStack = getFromTag(tag, id); - - itemStack = ArmorDisplay.display(itemStack); - - json.getAsJsonObject().remove("tag"); - String newTag = toJson(itemStack); - json.getAsJsonObject().add("tag", new JsonPrimitive(newTag)); - - jsonObject.remove("contents"); - jsonObject.add("contents", json); - ChatHoverable newHoverable = ChatHoverable.a(jsonObject); - ChatModifier modifier = component.getChatModifier(); - modifier = modifier.setChatHoverable(newHoverable); - - ((ChatBaseComponent) component).setChatModifier(modifier); - } - - private static ItemStack getFromTag(@NotNull final String jsonTag, - @NotNull final String id) { - String processedId = id; - String processedJsonTag = jsonTag; - processedId = processedId.replace("minecraft:", ""); - processedId = processedId.toUpperCase(); - processedId = processedId.replace("\"", ""); - processedJsonTag = processedJsonTag.substring(1, processedJsonTag.length() - 1); - processedJsonTag = processedJsonTag.replace("id:", "\"id\":"); - processedJsonTag = processedJsonTag.replace("\\", ""); - Material material = Material.getMaterial(processedId); - - assert material != null; - ItemStack itemStack = new ItemStack(material); - net.minecraft.server.v1_16_R1.ItemStack nmsStack = CraftItemStack.asNMSCopy(itemStack); - - try { - nmsStack.setTag(MojangsonParser.parse(processedJsonTag)); - } catch (CommandSyntaxException e) { - e.printStackTrace(); - } - return CraftItemStack.asBukkitCopy(nmsStack); - } - - private static String toJson(@NotNull final ItemStack itemStack) { - return CraftItemStack.asNMSCopy(itemStack).getOrCreateTag().toString(); - } -} diff --git a/eco-core/core-nms/v1_16_R2/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R2/ChatComponent.java b/eco-core/core-nms/v1_16_R2/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R2/ChatComponent.java deleted file mode 100644 index 1802958..0000000 --- a/eco-core/core-nms/v1_16_R2/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R2/ChatComponent.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.willfp.ecoarmor.proxy.v1_16_R2; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.willfp.ecoarmor.display.ArmorDisplay; -import com.willfp.ecoarmor.proxy.proxies.ChatComponentProxy; -import net.minecraft.server.v1_16_R2.ChatBaseComponent; -import net.minecraft.server.v1_16_R2.ChatHoverable; -import net.minecraft.server.v1_16_R2.ChatMessage; -import net.minecraft.server.v1_16_R2.ChatModifier; -import net.minecraft.server.v1_16_R2.IChatBaseComponent; -import net.minecraft.server.v1_16_R2.MojangsonParser; -import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_16_R2.inventory.CraftItemStack; -import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.NotNull; - -import java.util.Arrays; - -public final class ChatComponent implements ChatComponentProxy { - @Override - public Object modifyComponent(@NotNull final Object object) { - if (!(object instanceof IChatBaseComponent)) { - return object; - } - - IChatBaseComponent chatComponent = (IChatBaseComponent) object; - chatComponent.stream().forEach(this::modifyBaseComponent); - - return chatComponent; - } - - private void modifyBaseComponent(@NotNull final IChatBaseComponent component) { - component.getSiblings().forEach(this::modifyBaseComponent); - if (component instanceof ChatMessage) { - Arrays.stream(((ChatMessage) component).getArgs()) - .filter(o -> o instanceof IChatBaseComponent) - .map(o -> (IChatBaseComponent) o) - .forEach(this::modifyBaseComponent); - } - - ChatHoverable hoverable = component.getChatModifier().getHoverEvent(); - - if (hoverable == null) { - return; - } - - JsonObject jsonObject = hoverable.b(); - JsonElement json = hoverable.b().get("contents"); - if (json.getAsJsonObject().get("id") == null) { - return; - } - if (json.getAsJsonObject().get("tag") == null) { - return; - } - String id = json.getAsJsonObject().get("id").toString(); - String tag = json.getAsJsonObject().get("tag").toString(); - ItemStack itemStack = getFromTag(tag, id); - - itemStack = ArmorDisplay.display(itemStack); - - json.getAsJsonObject().remove("tag"); - String newTag = toJson(itemStack); - json.getAsJsonObject().add("tag", new JsonPrimitive(newTag)); - - jsonObject.remove("contents"); - jsonObject.add("contents", json); - ChatHoverable newHoverable = ChatHoverable.a(jsonObject); - ChatModifier modifier = component.getChatModifier(); - modifier = modifier.setChatHoverable(newHoverable); - - ((ChatBaseComponent) component).setChatModifier(modifier); - } - - private static ItemStack getFromTag(@NotNull final String jsonTag, - @NotNull final String id) { - String processedId = id; - String processedJsonTag = jsonTag; - processedId = processedId.replace("minecraft:", ""); - processedId = processedId.toUpperCase(); - processedId = processedId.replace("\"", ""); - processedJsonTag = processedJsonTag.substring(1, processedJsonTag.length() - 1); - processedJsonTag = processedJsonTag.replace("id:", "\"id\":"); - processedJsonTag = processedJsonTag.replace("\\", ""); - Material material = Material.getMaterial(processedId); - - assert material != null; - ItemStack itemStack = new ItemStack(material); - net.minecraft.server.v1_16_R2.ItemStack nmsStack = CraftItemStack.asNMSCopy(itemStack); - - try { - nmsStack.setTag(MojangsonParser.parse(processedJsonTag)); - } catch (CommandSyntaxException e) { - e.printStackTrace(); - } - return CraftItemStack.asBukkitCopy(nmsStack); - } - - private static String toJson(@NotNull final ItemStack itemStack) { - return CraftItemStack.asNMSCopy(itemStack).getOrCreateTag().toString(); - } -} diff --git a/eco-core/core-nms/v1_16_R3/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R3/ChatComponent.java b/eco-core/core-nms/v1_16_R3/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R3/ChatComponent.java deleted file mode 100644 index 45acbd1..0000000 --- a/eco-core/core-nms/v1_16_R3/src/main/java/com/willfp/ecoarmor/proxy/v1_16_R3/ChatComponent.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.willfp.ecoarmor.proxy.v1_16_R3; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonPrimitive; -import com.mojang.brigadier.exceptions.CommandSyntaxException; -import com.willfp.ecoarmor.display.ArmorDisplay; -import com.willfp.ecoarmor.proxy.proxies.ChatComponentProxy; -import net.minecraft.server.v1_16_R3.ChatBaseComponent; -import net.minecraft.server.v1_16_R3.ChatHoverable; -import net.minecraft.server.v1_16_R3.ChatMessage; -import net.minecraft.server.v1_16_R3.ChatModifier; -import net.minecraft.server.v1_16_R3.IChatBaseComponent; -import net.minecraft.server.v1_16_R3.MojangsonParser; -import org.bukkit.Material; -import org.bukkit.craftbukkit.v1_16_R3.inventory.CraftItemStack; -import org.bukkit.inventory.ItemStack; -import org.jetbrains.annotations.NotNull; - -import java.util.Arrays; - -public final class ChatComponent implements ChatComponentProxy { - @Override - public Object modifyComponent(@NotNull final Object object) { - if (!(object instanceof IChatBaseComponent)) { - return object; - } - - IChatBaseComponent chatComponent = (IChatBaseComponent) object; - chatComponent.stream().forEach(this::modifyBaseComponent); - - return chatComponent; - } - - private void modifyBaseComponent(@NotNull final IChatBaseComponent component) { - component.getSiblings().forEach(this::modifyBaseComponent); - if (component instanceof ChatMessage) { - Arrays.stream(((ChatMessage) component).getArgs()) - .filter(o -> o instanceof IChatBaseComponent) - .map(o -> (IChatBaseComponent) o) - .forEach(this::modifyBaseComponent); - } - - ChatHoverable hoverable = component.getChatModifier().getHoverEvent(); - - if (hoverable == null) { - return; - } - - JsonObject jsonObject = hoverable.b(); - JsonElement json = hoverable.b().get("contents"); - if (json.getAsJsonObject().get("id") == null) { - return; - } - if (json.getAsJsonObject().get("tag") == null) { - return; - } - String id = json.getAsJsonObject().get("id").toString(); - String tag = json.getAsJsonObject().get("tag").toString(); - ItemStack itemStack = getFromTag(tag, id); - - itemStack = ArmorDisplay.display(itemStack); - - json.getAsJsonObject().remove("tag"); - String newTag = toJson(itemStack); - json.getAsJsonObject().add("tag", new JsonPrimitive(newTag)); - - jsonObject.remove("contents"); - jsonObject.add("contents", json); - ChatHoverable newHoverable = ChatHoverable.a(jsonObject); - ChatModifier modifier = component.getChatModifier(); - modifier = modifier.setChatHoverable(newHoverable); - - ((ChatBaseComponent) component).setChatModifier(modifier); - } - - private static ItemStack getFromTag(@NotNull final String jsonTag, - @NotNull final String id) { - String processedId = id; - String processedJsonTag = jsonTag; - processedId = processedId.replace("minecraft:", ""); - processedId = processedId.toUpperCase(); - processedId = processedId.replace("\"", ""); - processedJsonTag = processedJsonTag.substring(1, processedJsonTag.length() - 1); - processedJsonTag = processedJsonTag.replace("id:", "\"id\":"); - processedJsonTag = processedJsonTag.replace("\\", ""); - Material material = Material.getMaterial(processedId); - - assert material != null; - ItemStack itemStack = new ItemStack(material); - net.minecraft.server.v1_16_R3.ItemStack nmsStack = CraftItemStack.asNMSCopy(itemStack); - - try { - nmsStack.setTag(MojangsonParser.parse(processedJsonTag)); - } catch (CommandSyntaxException e) { - e.printStackTrace(); - } - return CraftItemStack.asBukkitCopy(nmsStack); - } - - private static String toJson(@NotNull final ItemStack itemStack) { - return CraftItemStack.asNMSCopy(itemStack).getOrCreateTag().toString(); - } -} diff --git a/eco-core/core-plugin/src/main/resources/sets.yml b/eco-core/core-plugin/src/main/resources/sets.yml index 40c8bef..784ce39 100644 --- a/eco-core/core-plugin/src/main/resources/sets.yml +++ b/eco-core/core-plugin/src/main/resources/sets.yml @@ -4,9 +4,9 @@ miner: advanced-set-bonus: hunger-loss-multiplier: 0.5 potion-effects: - haste: 2 + fast_digging: 2 advanced-potion-effects: - haste: 3 + fast_digging: 3 advanced-lore: - "" - "<\$#f12711>&lADVANCED BONUS<\$#f5af19>" diff --git a/eco-core/core-proxy/src/main/java/com/willfp/ecoarmor/proxy/proxies/ChatComponentProxy.java b/eco-core/core-proxy/src/main/java/com/willfp/ecoarmor/proxy/proxies/ChatComponentProxy.java deleted file mode 100644 index e6c7bf1..0000000 --- a/eco-core/core-proxy/src/main/java/com/willfp/ecoarmor/proxy/proxies/ChatComponentProxy.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.willfp.ecoarmor.proxy.proxies; - - -import com.willfp.eco.util.proxy.AbstractProxy; -import org.jetbrains.annotations.NotNull; - -public interface ChatComponentProxy extends AbstractProxy { - /** - * Modify hover {@link org.bukkit.inventory.ItemStack}s using ArmorDisplay. - * @param object The NMS ChatComponent to modify. - * @return The modified ChatComponent. - */ - Object modifyComponent(@NotNull Object object); -}