uShop is a bukkit plugin compatible with Paper/Spigot versions 1.13 - 1.20 that allows your players to quick-sell items in a GUI!
Documentation, Tutorial and Setup: https://docs.spaceio.xyz/plugin/ushop/
A simple shop plugin for selling items
License: GNU General Public License v3.0
uShop is a bukkit plugin compatible with Paper/Spigot versions 1.13 - 1.20 that allows your players to quick-sell items in a GUI!
Documentation, Tutorial and Setup: https://docs.spaceio.xyz/plugin/ushop/
I voted 5 stars because I really like this plugin but after 30 min it doesn't show how much each product is worth anymore when you want to sell it.
"Pardon my English"
To resolve temporarily I'm using the command /plugman reload uShop" every 30 min automatically from another plugin
gg
Can you add a feature?
If you sell things but have no value, you get the items again?
The best that you can put it in the config on or off.
Mfg
Hello,
it would be helpful to have sell statistics of items, to find out what players sold mostly..
hey i have a suggestion.
mabe if someone sells for example an iron ingot. take the value out of the list and lower it if many people sell it until a bottom line configurable. and for every like 1 minecraft day add the worth back to the item.
for example iron is worth €100 per piece.
i sell 50 iron to the shop and its configurated to take 1% of the price for each sale
€100 - (100 / 1 = € 1) * 50 = €50 = €50 is the new worth.
now after one minecraft day its worth €50.5 because it adds 1 % until it adds up to the worth it was before (€100)
Items should be returned to players inventory
Items were taken away (sellable items did not sell or return to players inventory)
uShop v2.1.1-SNAPSHOT
This server is running Paper version git-Paper-50 (MC: 1.15.1) (Implementing API version 1.15.1-R0.1-SNAPSHOT)
Plugins (29): AAC, AACAdditionPro, AACPlus, Citizens, CMI, CommandDoesNotExist, Companions, ConditionalCommands*, CrateReloaded, EnchantsPlus, HeadDatabase*, Jobs, Lands, LastLoginAPI, LuckPerms, mcMMO, OreAnnouncer, ProtocolLib, Rankup, SelectionVisualizer, UltraCustomizer, UltraRegions, uShop, Vault*, Vouchers, WildStacker, WorldBorder, WorldEdit, WorldGuard
paste
error(s)
here
Item is salable
Item is not salable
latest
paste
error(s)
here
I was supposed to sell chests full of socket swords and other randomized loot from MythicDrops
I couldn't because it's all randomized loot so doing /setprice is impossible to keep up with
2.1.0-SNAPSHOT
Paper Latest
MythicDrops
N/A
I love this plugin and hope this is fixed soon so I don't have to use an uglier one to do this.
Hey !
It seems like there is a spigot crash because of the plugin. I'm using spigot 1.14.2, and the lastest version of the plugin. Here are the logs:
https://pastebin.com/gdfz770j
AdvancedRegionMarket, BeastWithDraw, BountyHunters, ChestCleaner, ChestShop*, Citizens, CitizensCMD, CrazyCrates, CustomEnchants*, DeluxeMenus, Essentials, EssentialsChat, EssentialsProtect, EssentialsSpawn, EZBlocks*, eZProtector, FeatherBoard*, Holograms*, LeaderHeadsRevamped, mcMMO, MessageFilter*, Minepacks, Multiverse-Core, MVdWPlaceholderAPI*, NametagEdit*, PermissionsEx*, PlaceholderAPI, ProtocolLib, RandomTeleport, RawMsg, RedProtect, RFChairs, SilkSpawners, StackMob, uShop, SuperTrails*, TempFly*, TitleManager*, Trading*, Vault, VeinMiner, ViaVersion*, VillagerOptimiser, VoidGenerator, WorldBorder, WorldEdit, WorldGuard, WorldGuardExtraFlags, WorldResetPlus*
no errors on console
It would be good if the plugin was updated to 1.17
when you sell items without price and you click the botton to sell it , it will take away the item and will not give it back.
also essentials worth in the config file doesnt work, pls update the plugin
regards
port
Hello,
I would like to request the ability to create multiple shops with different prices.
paste
error(s)
here
Plugin should use Essentials's worth.yml file for the item prices.
Did not load them, errors in the console. All items were worth $0 and even when I clicked the Sell button, it errored out again and the gui was still open but without the golden nugget.
1.7.6
version git-Paper-1618 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
ChatItem, CoreProtect, Essentials, EssentialsChat, EssentialsSpawn, FastAsyncVoxelSniper, FastAsyncWorldEdit, iDisguise, jNBT, LuckPerms, Multiverse-Core, MySkin, OpenInv, PlaceholderAPI, ProtocolLib, Skellett, SkQuery, skRayFall, Skript, skUtilities, SuperVanish, TuSKe, Vault, VoxelSniper, WorldEdit, WorldGuard
https://pastebin.com/raw/baim9TSy
From what I'm seeing in the errors, it tries to access a method in the Essentials plugin api which doesn't exist. com.earth2me.essentials.Worth.getPrice is the method.
If the method really doesn't exist (the method got removed) then there is not much you can do about this issue apart from loading both the aliases of the items and then parse the worth.yml file directly.
Please fix this issue as this plugin is perfect for me and I think a lot of people, would be awesome to have this fixed.
15:50:21 INFO]: Dani101Dani issued server command: /ushop setprice 5500
[15:50:21 ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ushop' in plugin uShop v2.1.0-SNAPSHOT
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[S.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[S.jar:git-Spigot-dcd1643-e60fc34]
at org.bukkit.craftbukkit.v1_12_R1.CraftServer.dispatchCommand(CraftServer.java:648) ~[S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnection.handleCommand(PlayerConnection.java:1399) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:1234) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils$1.run(SourceFile:13) [S.jar:git-Spigot-dcd1643-e60fc34]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_221]
at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_221]
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:748) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:406) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:679) [S.jar:git-Spigot-dcd1643-e60fc34]
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:577) [S.jar:git-Spigot-dcd1643-e60fc34]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_221]
Caused by: java.lang.NoSuchMethodError: org.bukkit.enchantments.Enchantment.getKey()Lorg/bukkit/NamespacedKey;
at xyz.spaceio.ushop.CustomItem.lambda$2(CustomItem.java:95) ~[?:?]
at java.util.stream.MatchOps$1MatchSink.accept(Unknown Source) ~[?:1.8.0_221]
at java.util.Spliterators$IteratorSpliterator.tryAdvance(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.MatchOps$MatchOp.evaluateSequential(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.ReferencePipeline.allMatch(Unknown Source) ~[?:1.8.0_221]
at xyz.spaceio.ushop.CustomItem.matches(CustomItem.java:94) ~[?:?]
at xyz.spaceio.ushop.Main.lambda$4(Main.java:203) ~[?:?]
at java.util.stream.ReferencePipeline$2$1.accept(Unknown Source) ~[?:1.8.0_221]
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_221]
at java.util.stream.ReferencePipeline.findFirst(Unknown Source) ~[?:1.8.0_221]
at xyz.spaceio.ushop.Main.findCustomItem(Main.java:203) ~[?:?]
at xyz.spaceio.ushop.uShopCmd.onCommand(uShopCmd.java:46) ~[?:?]
at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[S.jar:git-Spigot-dcd1643-e60fc34]
... 15 more
Apparently, users are able to sell items at zero worth. This should be toggleable in the config.yml.
reference: #8
That time sells update with certain time ticks. Instead, this update could also be done when a user has opened the shop and clicks an item. Then we won't see a delay when hovering over the sell item.
The item should calculate its price and sell
Nothing happens, an error is outputted
1.7.6
This server is running Paper version git-Paper-1620 (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT)
AnimatedScoreboard, AuthMe, BetterRTP, ConsoleSpamFix, CoreProtect, DiscordSRV, dynmap, Dynmap-Towny, Essentials, EssentialsChat, LuckPerms, Maintenance, PlaceholderAPI, PluginHider, ProtocolLib, SkinsRestorer, spark, TAB, TheNewEconomy, Towny, TownyChat, uShop, Vault, ViaVersion, WorldBorder
Placing item in sell menu:
2024-03-31 15:30:38.160740+03:00[15:30:38 WARN]: [uShop] Plugin uShop v1.7.6 generated an exception while executing task 13
2024-03-31 15:30:38.160780+03:00java.lang.NoSuchMethodError: 'java.math.BigDecimal com.earth2me.essentials.Worth.getPrice(org.bukkit.inventory.ItemStack)'
2024-03-31 15:30:38.160793+03:00at uShop.Main.getPrice(Main.java:112) ~[?:?]
2024-03-31 15:30:38.160804+03:00at uShop.Main.lambda$0(Main.java:65) ~[?:?]
2024-03-31 15:30:38.160817+03:00at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftTask.run(CraftTask.java:64) ~[patched_1.12.2.jar:git-Paper-1620]
2024-03-31 15:30:38.160829+03:00at org.bukkit.craftbukkit.v1_12_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) ~[patched_1.12.2.jar:git-Paper-1620]
2024-03-31 15:30:38.160839+03:00at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.12.2.jar:git-Paper-1620]
2024-03-31 15:30:38.160850+03:00at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) ~[?:?]
2024-03-31 15:30:38.160861+03:00at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) ~[?:?]
2024-03-31 15:30:38.160872+03:00at java.lang.Thread.run(Unknown Source) [?:?]
Trying to sell the item:
- [Sun 15:38:07 ERROR Minecraft] Could not pass event InventoryClickEvent to uShop v1.7.6
java.lang.NoSuchMethodError: 'java.math.BigDecimal com.earth2me.essentials.Worth.getPrice(org.bukkit.inventory.ItemStack)'
at uShop.Main.getPrice(Main.java:160)
at uShop.Main.calcPrices(Main.java:150)
at uShop.Listeners.onClick(Listeners.java:45)
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor29.execute(Unknown Source)
at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:70)
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:513)
at net.minecraft.server.v1_12_R1.PlayerConnection.a(PlayerConnection.java:2002)
at net.minecraft.server.v1_12_R1.PacketPlayInWindowClick.a(SourceFile:33)
at net.minecraft.server.v1_12_R1.PacketPlayInWindowClick.a(SourceFile:10)
at net.minecraft.server.v1_12_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:14)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at net.minecraft.server.v1_12_R1.SystemUtils.a(SourceFile:46)
at net.minecraft.server.v1_12_R1.MinecraftServer.D(MinecraftServer.java:850)
at net.minecraft.server.v1_12_R1.DedicatedServer.D(DedicatedServer.java:423)
at net.minecraft.server.v1_12_R1.MinecraftServer.C(MinecraftServer.java:774)
at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:666)
at java.base/java.lang.Thread.run(Unknown Source)
I only get this error when I enable Essentials pricing
produces 20mb files crash reports
2.2.1 and 2.2.0
Paper version git-Paper-138 (MC: 1.16.1) (Implementing API version 1.16.1-R0.1-SNAPSHOT)
AdvancedAchievements, AdvancedRegionMarket, ArmorStandEditor, AsyncWorldEdit, Autorank, BetterBees, BlockParticles, BookShelf, BuycraftX, ChatManager, Citizens, CommandSigns, CoreProtect, CraftEnhance, CrazyCrates, DiscordSRV, DropHeads, dynmap*, EpicWorldGenerator, Essentials, EssentialsChat, EssentialsProtect, EssentialsSpawn, GriefPrevention, HolographicDisplays, IllegalStack, InteractionVisualizer, InteractiveChat, InventoryRollback, InvisibleItemFrame, ItemEdit, LightAPI, LuckPerms, MarriageMaster, mcMMO, Multiverse-Core, Multiverse-Inventories, Multiverse-Portals, MyCommand, MyPet, NametagEdit*, NBTAPI, NPCAuctions, OpenInv, PlaceholderAPI, PlayerWarps, Playtimes*, PlotSquared, PluginConstructorAPI, PosePlugin, ProtocolLib, PvPManager, Shop, SignEdit, SimpleHorseInfo, Skellett, SkQuery, Skript, skript-mirror*, Skript-Paper*, SQLibrary*, TradeUI, TuSKe*, UltimateTimber, uShop, Vault, ViaBackwards, ViaVersion, VoidGenerator, VoidSpawn, Votifier, VotingPlugin, WebServer*, Wild, WorldBorder, WorldEdit, WorldGuard
no console errors
one of the crash files: https://drive.google.com/file/d/1evKXX0rwESVVmVOhTGpIF4IzlkWOmACs/view?usp=sharing
When running the plugin under 1.14, it gives the following error:
java.lang.NoSuchMethodError: org.bukkit.inventory.Inventory.getTitle()Ljava/lang/String;
at xyz.spaceio.ushop.Main.lambda$0(Main.java:85) ~[?:?]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftTask.run(CraftTask.java:81) ~[spigot-1.14.2-R0.1-SNAPSHOT.jar:git-Spigot-01d0f04-455023c]
at org.bukkit.craftbukkit.v1_14_R1.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:54) [spigot-1.14.2-R0.1-SNAPSHOT.jar:git-Spigot-01d0f04-455023c]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_171]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_171]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_171]
Reference (Spigot, post #89)
Hello, I get this error in console a lot. I have no idea what causes it but its definitely when someone sells something. (I tested it with a block that has a price) Also I don't get that error when i sell only other players.
[23:24:12] [Craft Scheduler Thread - 2869/WARN]: [uShop] Plugin uShop v2.0.4-SNAPSHOT generated an exception while executing task 16
java.util.ConcurrentModificationException: null
at java.util.HashMap$HashIterator.nextNode(HashMap.java:1442) ~[?:1.8.0_181]
at java.util.HashMap$KeyIterator.next(HashMap.java:1466) ~[?:1.8.0_181]
at xyz.spaceio.ushop.Main.lambda$0(Main.java:83) ~[?:?]
at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:84) ~[patched_1.13.2.jar:git-Paper-620]
at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftAsyncTask.run(CraftAsyncTask.java:52) ~[patched_1.13.2.jar:git-Paper-620]
at com.destroystokyo.paper.ServerSchedulerReportingWrapper.run(ServerSchedulerReportingWrapper.java:22) ~[patched_1.13.2.jar:git-Paper-620]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
I need to know what the perms are and I'm using the premissionsex
plugin.
a clean shutdown
console spam with an error asking me to nag the author, that being 'Linus122'. Putting the server on halt for about a minute.
latest, 2.2.0
Paper-304
30.05 08:59:08 [Server] ERROR Nag author: 'Linus122' of 'uShop' about the following: This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before the process dies.
It should display the total value of items
It should return the items if added to the sell box and the user cancels
It shows value $0 for items of any quantity
It does not return the items
2.2.0
PaperMC build 130
BackupOnEvent*, ConsoleSpamFix, DeadChest, DiscordSRV, DropHeads, dynmap*, Essentials, EssentialsChat, EssentialsSpawn, GriefPrevention, InstantBreak*, LuckPerms, Pingas*, PlugMan, ProtocolLib, SilkSpawners, SmoothSleep, uShop, Vault, WorldEdit
No visible errors
The bug can be reproduced after restarting the server.
See the below image.
Whats the permission node to use ushop /sell?
Item should have value and not 0
Item sold for 0 and there were tons of accidents
2.3.0
This server is running Paper version git-Paper-430 (MC: 1.20.4) (Implementing API version 1.20.4-R0.1-SNAPSHOT) (Git: 4939f87)
[16:55:16 INFO]: Paper Plugins:
[16:55:16 INFO]: - RoseStacker, SignedVelocity
[16:55:16 INFO]: Bukkit Plugins:
[16:55:16 INFO]: - ActionBarXtreme, AFKPlus, Afkpluspapi, ajAntiXray, AngelChest, AntiEditSigns, AntiPopup, ArmorStandEditor, AuctionHouse, AutoPickup
[16:55:16 INFO]: Autorank, BattlePass, *BCommons, *BetterPing, BetterRTP, BetterShulkerBoxes, Boosters, BossShopPro, ChestProtect, ChestSort
[16:55:16 INFO]: Chunky, Citizens, ColoredSigns, Coordinates, CoreProtect, CoreProtectTNT, CraftingStore, CustomCommands, DelayedCommand, Denizen
[16:55:16 INFO]: DiscordSRV, eco, eGlow, EntityDetection, ExcellentCrates, ExtraContexts, EZColors, F3Name, FancyHolograms, FastAsyncWorldEdit
[16:55:16 INFO]: Gamemode-Change, GCore, GFly, GSit, Hat, HiddenArmor, ImageOnMap, InventoryRollbackPlus, InventorySaver, InvisibleItemFrames
[16:55:16 INFO]: Join-Leave, JoinCommands, JukeboxExtendedReborn, LastLoginAPI, libreforge, LibsDisguises, LoreAttributesRecoded, LuckPerms, Maintenance, MCPets
[16:55:16 INFO]: MemCheck, ModelEngine, Multiverse-Core, MusicBox, MythicCrucible, MythicMobs, NexEngine, NoteBlockAPI, Oraxen, Parties
[16:55:16 INFO]: PlaceholderAPI, Plan, PlayerKits2, PlayerPoints, PluginManager, PremiumVanish, ProCosmetics, ProtocolLib, RedisChat, RHLeafDecay
[16:55:16 INFO]: SetSpawn, Shop, SimpleTpa, SkinsRestorer, SlimeIndicator, Spectator, squaremap, TAB, TimedRewards, TradePlus
[16:55:16 INFO]: UltimateAutoRestart, UltraCosmetics, uShop, Vault, ViewDistanceTweaks, vilib, voicechat, VoidGen, Votifier, VotingPlugin
[16:55:16 INFO]: Vulcan, WorldGuard, WorldGuardExtraFlags, WorldResourcepacks, ZeFreeze
paste
error(s)
here
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.