Clearing enchants

Discussion in 'Plugin Development' started by ShadowDisruptor, Oct 24, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    ShadowDisruptor

    How do I clear enchants from an item meta? meta.getEnchants().clear(); calls an error.
     
  2. Offline

    SmooshCakez

    What error does it give you? Post the stack-trace.
     
  3. Offline

    ShadowDisruptor

    19:41:41 [SEVERE] Could not pass event EnchantItemEvent to Footys Enchantments v
    1.0.0
    org.bukkit.event.EventException
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:427)
    at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.jav
    a:62)
    at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.j
    ava:477)
    at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.j
    ava:462)
    at net.minecraft.server.v1_6_R3.ContainerEnchantTable.a(ContainerEnchant
    Table.java:167)
    at net.minecraft.server.v1_6_R3.PlayerConnection.a(PlayerConnection.java
    :1473)
    at net.minecraft.server.v1_6_R3.Packet108ButtonClick.handle(SourceFile:1
    9)
    at net.minecraft.server.v1_6_R3.NetworkManager.b(NetworkManager.java:296
    )
    at net.minecraft.server.v1_6_R3.PlayerConnection.e(PlayerConnection.java
    :116)
    at net.minecraft.server.v1_6_R3.ServerConnection.b(SourceFile:37)
    at net.minecraft.server.v1_6_R3.DedicatedServerConnection.b(SourceFile:3
    0)
    at net.minecraft.server.v1_6_R3.MinecraftServer.t(MinecraftServer.java:5
    92)
    at net.minecraft.server.v1_6_R3.DedicatedServer.t(DedicatedServer.java:2
    27)
    at net.minecraft.server.v1_6_R3.MinecraftServer.s(MinecraftServer.java:4
    88)
    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java
    :421)
    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:5
    83)
    Caused by: java.lang.UnsupportedOperationException
    at com.google.common.collect.ImmutableMap.clear(ImmutableMap.java:308)
    at me.ShadowDisruptor.Better_enchants.Main.setArmor(Main.java:46)
    at me.ShadowDisruptor.Better_enchants.Events.itemEnchant(Events.java:70)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.ja
    va:425)
    ... 15 more

    SmooshCakez

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 14, 2016
  4. Offline

    RawCode

    Caused by: java.lang.UnsupportedOperationException

    then use google luke.

    or atleast read javadocs, they explain how enchanting works.
     
  5. Offline

    ShadowDisruptor

    I'm not enchanting an item and I used the javadocs, I just want to clear the enchants.
     
  6. Offline

    jpjunho

    ShadowDisruptor
    loop over all enchant types, and if the item has the enchant, remove it
     
  7. Offline

    ShadowDisruptor

    jpjunho I thought about that but it's a bit overkill. There should be an easier way
     
  8. Offline

    ChipDev

    Isn't there a javadoc? reset the itemstack
     
  9. Offline

    teej107

Thread Status:
Not open for further replies.

Share This Page