Plugin Category: Economy Suggested Name: Token Shop What I Want: When a player right clicks a villager with the name '&e&lToken Shop' it opens a configurable GUI. In the configuration you can edit the icon of the item you want to buy, along with a customizable lore(s), name, and token price. You can also customize if the item is enchanted (glow) or not. When you create a item, you can give them permissions or commands. So if I buy Speed III, the icon will run the command '/effect <player> 1 10000 3' Once you've purchased this, you can toggle it by clicking on the same icon. Ideas for commands: Admin: • /TokenShop Give <Player> <Amount> - Gives a player Token(s) • /TokenShop Create - Spawns a Token Shop Villager • /TokenShop Delete - Deletes a Token Shop Villager • /TokenShop Reload - Reload the Config File Player: • /TokenShop - Opens the TokenShop GUI • /Tokens - Shows how many tokens you have • /TokensTop - Shows a list of players with the most tokens on the server. Ideas for permissions: Admin: • TokenShop.Give - Has access to /TokenShop Give • TokenShop.Create - Has access to /TokenShop Create • TokenShop.Delete - Has access to /TokenShop Delete • TokenShop.Reload - Has access to /TokenShop Reload Player: • TokenShop.Use - Has access to /TokenShop • TokenShop.Tokens - Has access to /Tokens • TokenShop.TokenTop - Has access to /TokensTop When I'd like it by: ASAP.
This sounds like it would use an economy plugin. I could try and give it a go, if you would like. And just to make sure, what economy plugin would you be using? And making it use cmdnpc would be good.
@GreenTea I made a plugin like that already, I just added the villagers for you Download: http://au.wc.lt/plugins/TokenShop.jar
I'll test it out EDIT I'm getting an error when I create a villager. Code: [12:33:42 INFO]: RiqhtBoo issued server command: /tokenshop create [12:33:43 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'tokenshop' in plugin TokenShop v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642] Caused by: java.lang.NoSuchFieldError: BARRIER at me.au2001.TokenShop.Main.onCommand(Main.java:153) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Spigot-1642] ... 13 more [12:33:43 ERROR]: Could not pass event EntityDamageEvent to TokenShop v1.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callEvent(CraftEventFactory.java:108) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.callEntityDamageEvent(CraftEventFactory.java:554) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.handleEntityDamageEvent(CraftEventFactory.java:540) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.craftbukkit.v1_7_R4.event.CraftEventFactory.handleLivingEntityDamageEvent(CraftEventFactory.java:586) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntityLiving.d(EntityLiving.java:1040) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntityLiving.damageEntity(EntityLiving.java:684) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntityLiving.C(EntityLiving.java:168) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntityInsentient.C(EntityInsentient.java:115) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.Entity.h(Entity.java:256) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntityLiving.h(EntityLiving.java:1370) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntityInsentient.h(EntityInsentient.java:154) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.EntitySlime.h(EntitySlime.java:79) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.World.entityJoinedWorld(World.java:1620) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.World.playerJoinedWorld(World.java:1595) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.World.tickEntities(World.java:1460) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.WorldServer.tickEntities(WorldServer.java:516) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:706) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642] Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Entity.getCustomName()Ljava/lang/String; at me.au2001.TokenShop.Main.onEntityDamage(Main.java:249) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_20] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_20] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_20] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_20] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Spigot-1642] ... 24 more [12:33:47 ERROR]: Could not pass event PlayerInteractEntityEvent to TokenShop v1.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1170) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:37) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.handle(PacketPlayInUseEntity.java:49) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642] Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Entity.getCustomName()Ljava/lang/String; at me.au2001.TokenShop.Main.onPlayerInteractEntity(Main.java:235) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_20] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_20] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_20] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_20] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Spigot-1642] ... 13 more [12:33:49 ERROR]: Could not pass event PlayerInteractEntityEvent to TokenShop v1.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1170) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:37) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.handle(PacketPlayInUseEntity.java:49) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642] Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Entity.getCustomName()Ljava/lang/String; at me.au2001.TokenShop.Main.onPlayerInteractEntity(Main.java:235) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_20] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_20] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_20] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_20] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Spigot-1642] ... 13 more [12:33:54 ERROR]: Could not pass event PlayerInteractEntityEvent to TokenShop v1.0 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:302) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:514) [craftbukkit.jar:git-Spigot-1642] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:499) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:1170) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.a(PacketPlayInUseEntity.java:37) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInUseEntity.handle(PacketPlayInUseEntity.java:49) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642] Caused by: java.lang.NoSuchMethodError: org.bukkit.entity.Entity.getCustomName()Ljava/lang/String; at me.au2001.TokenShop.Main.onPlayerInteractEntity(Main.java:235) ~[?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_20] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_20] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_20] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_20] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:298) ~[craftbukkit.jar:git-Spigot-1642] ... 13 more
@GreenTea Woops, I was using barriers to prevent the villager to jump, but I'll have to use glass instead since it's 1.7 :/ And I also forgot to cast certain things :x Update the plugin (with the same link) and try again
Can I break the glass after the villager has been created? EDIT: I can't delete a villager Code: [13:09:41 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'tokenshop' in plugin TokenShop v1.0 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:181) ~[craftbukkit.jar:git-Spigot-1642] at org.bukkit.craftbukkit.v1_7_R4.CraftServer.dispatchCommand(CraftServer.java:767) ~[craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.handleCommand(PlayerConnection.java:1043) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PlayerConnection.a(PlayerConnection.java:880) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInChat.a(PacketPlayInChat.java:28) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.PacketPlayInChat.handle(PacketPlayInChat.java:65) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.NetworkManager.a(NetworkManager.java:186) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ServerConnection.c(ServerConnection.java:81) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.v(MinecraftServer.java:734) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.DedicatedServer.v(DedicatedServer.java:289) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.u(MinecraftServer.java:584) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.MinecraftServer.run(MinecraftServer.java:490) [craftbukkit.jar:git-Spigot-1642] at net.minecraft.server.v1_7_R4.ThreadServerApplication.run(SourceFile:628) [craftbukkit.jar:git-Spigot-1642] Caused by: java.lang.NullPointerException at me.au2001.TokenShop.Main.onCommand(Main.java:169) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[craftbukkit.jar:git-Spigot-1642] ... 13 more > /TokenShop Give (Username) (Ammount) doesn't seem to work. When I run the command it says (Username) now has (Amount) - But when they run the command /Tokens it says they have 0. EDIT by Moderator: merged posts, please use the edit button instead of double posting.
@GreenTea The villager deleting problem might be because you are in peaceful, is that the case? If not update your plugin, then try creating a new villager and deleting it again. For the give command, I made a mistake, it always gives the tokens to yourself :x Fixed it, you can update the plugin (same link as before).
Did you add variables? <player> ? EDIT: Everything works fine, but can you make the villager stay still? He seems to wonder off and dies. Also could you add 2 commands, /Tokens Remove (Player) (Removes Tokens from a player) & /TopTokens (Sees the person with the highest tokens from least to greatest) tyty
@GreenTea What do you mean by variable? Where would it be? If there is one, it's called {PLAYER} (I call it like that in all my plugins) To remove tokens you can use /tk give <player> -<amount> (with a minus sign before) For the top tokens, I will work on that soon.
Thank You! I didn't know it was {PLAYER} EDIT: Are you fixing the villagers too? Could you also make it so that non-enchantable items be enchanted? Like feathers.
If you're OK with not having a GUI, look at ServerSigns. Otherwise try searching for a credits plugin if they don't solve the issue
@GreenTea Oh, yes sorry. If you update your plugin you will have the new command /toptokens, showing the top 10 players sorted by tokens.
When I run the command, it says "false" and says #1. (Username) (Null Tokens) The villagers also keep despawning