Issue with ChestShop on Startup/Use
tubatyler opened this issue · 9 comments
[Please search for tickets with the same issues as yours first before reporting!]
Plugin Version
3.10-SNAPSHOT (Build 135)
Plugin Config
#Do you want to turn off the automatic updates of ChestShop?
TURN_OFF_UPDATES: false
#How large should the internal caches be?
CACHE_SIZE: 1000
#What containers are allowed to hold a shop? (Only blocks with inventories work!)
SHOP_CONTAINERS:
- "CHEST"
- "TRAPPED_CHEST"
#(In 1/1000th of a second) How often can a player use the shop sign?
SHOP_INTERACTION_INTERVAL: 250
#Do you want to allow using shops to people in creative mode?
IGNORE_CREATIVE_MODE: true
#Do you want to allow using shops to people who have access to it due to their permissions? (owners are always ignored)
IGNORE_ACCESS_PERMS: true
#If true, people will buy with left-click and sell with right-click.
REVERSE_BUTTONS: false
#If true, people will be able to buy/sell in 64 stacks while holding the crouch button.
SHIFT_SELLS_IN_STACKS: false
#What can you do by clicking shift with SHIFT_SELLS_IN_STACKS turned on? (ALL/BUY/SELL)
SHIFT_ALLOWS: "ALL"
#Can shop's chest be opened by owner with right-clicking a shop's sign?
ALLOW_SIGN_CHEST_OPEN: true
#If true, when you left-click your own shop sign you won't open chest's inventory, but instead you will start destroying the sign.
ALLOW_LEFT_CLICK_DESTROYING: true
#If true, if the shop is empty, the sign is destroyed and put into the chest, so the shop isn't usable anymore.
REMOVE_EMPTY_SHOPS: false
#If true, if the REMOVE_EMPTY_SHOPS option is turned on, the chest is also destroyed.
REMOVE_EMPTY_CHESTS: false
#A list of worlds in which to remove empty shops with the previous config. Case sensitive. An empty list means all worlds.
REMOVE_EMPTY_WORLDS:
- "world1"
- "world2"
#First line of your Admin Shop's sign should look like this:
ADMIN_SHOP_NAME: "Admin Shop"
#The economy account which Admin Shops should use and to which all taxes will go
SERVER_ECONOMY_ACCOUNT: ""
#Percent of the price that should go to the server's account. (100 = 100 percent)
TAX_AMOUNT: 0
#Percent of the price that should go to the server's account when buying from an Admin Shop.
SERVER_TAX_AMOUNT: 0
#Amount of money player must pay to create a shop
SHOP_CREATION_PRICE: 0
#How much money do you get back when destroying a sign?
SHOP_REFUND_PRICE: 0
#How many decimal places are allowed at a maximum for prices?
PRICE_PRECISION: 2
#Should we block shops that sell things for more than they buy? (This prevents newbies from creating shops that would be exploited)
BLOCK_SHOPS_WITH_SELL_PRICE_HIGHER_THAN_BUY_PRICE: true
#Do you want to allow other players to build a shop on a block where there's one already?
ALLOW_MULTIPLE_SHOPS_AT_ONE_BLOCK: false
#Can shops be used even when the buyer/seller doesn't have enough items, space or money? (The price will be scaled adequately to the item amount)
ALLOW_PARTIAL_TRANSACTIONS: true
#Can '?' be put in place of item name in order for the sign to be auto-filled?
ALLOW_AUTO_ITEM_FILL: true
#Do you want to show "Out of stock" messages?
SHOW_MESSAGE_OUT_OF_STOCK: true
#Do you want to show "Full shop" messages?
SHOW_MESSAGE_FULL_SHOP: true
#Can players hide the "Out of stock" messages with /cstoggle?
CSTOGGLE_TOGGLES_OUT_OF_STOCK: false
#Can players hide the "Full shop" messages with /cstoggle?
CSTOGGLE_TOGGLES_FULL_SHOP: false
#Do you want to show "You bought/sold... " messages?
SHOW_TRANSACTION_INFORMATION_CLIENT: true
#Do you want to show "Somebody bought/sold... " messages?
SHOW_TRANSACTION_INFORMATION_OWNER: true
#If true, plugin will log transactions in its own file
LOG_TO_FILE: false
#Do you want ChestShop's messages to show up in console?
LOG_TO_CONSOLE: true
#Should all shop removals be logged to the console?
LOG_ALL_SHOP_REMOVALS: true
#Do you want to stack all items up to 64 item stacks?
STACK_TO_64: false
#Do you want to use built-in protection against chest destruction?
USE_BUILT_IN_PROTECTION: true
#Do you want to have shop signs "stick" to chests?
STICK_SIGNS_TO_CHESTS: false
#EXPERIMENTAL: Do you want to turn off the default protection when another plugin is protecting the block? (Will leave the chest visually open - CraftBukkit bug!)
TURN_OFF_DEFAULT_PROTECTION_WHEN_PROTECTED_EXTERNALLY: false
#Do you want to turn off the default sign protection? Warning! Other players will be able to destroy other people's shops!
TURN_OFF_SIGN_PROTECTION: false
#Do you want to disable the hopper protection, which prevents Hopper-Minecarts from taking items out of shops?
TURN_OFF_HOPPER_PROTECTION: false
#Do you want to protect shop chests with LWC?
PROTECT_CHEST_WITH_LWC: false
#Do you want to protect shop signs with LWC?
PROTECT_SIGN_WITH_LWC: false
#Should the chest's LWC protection be removed once the shop sign is destroyed?
REMOVE_LWC_PROTECTION_AUTOMATICALLY: true
#Do you want to only let people build inside regions?
WORLDGUARD_INTEGRATION: false
#Do you want to only let people build inside region flagged by doing /region regionName flag allow-shop allow?
WORLDGUARD_USE_FLAG: false
#Do you want ChestShop to respect WorldGuard's chest protection?
WORLDGUARD_USE_PROTECTION: false
#Do you want to deny shop access to unlogged users?
AUTHME_HOOK: true
#Do you want to allow shop access to unregistered users? (Example: registration is optional)
AUTHME_ALLOW_UNREGISTERED: false
#How much Heroes exp should people get for creating a ChestShop?
HEROES_EXP: 100.0
#Add icons and make item names hoverable in transaction messages when ShowItem is installed?
SHOWITEM_MESSAGE: true
Server Version
https://gyazo.com/01ee7b04f09583d98627e0ef79d52a80
Server Log
What other plugins are you running?
CoreProtect, PlayerHeads, WorldEdit, WorldGuard, LampControl, AutoMessage, SetSpawn, RottenFlesh2Leather, MobHealthbars, PermissionsEx,BuyCraftX, Vault, Multiverse-Core, DiscordSRV, Essentials, AdvancedAchievements, ChatEx
What is happening?
This appeared on startup: https://pastebin.com/hGb0MZfN
This appeared when using /iteminfo: https://pastebin.com/uwqRHqwP
And when using /chestshop reload: https://pastebin.com/HR9Psnw1
What did you expect to happen?
I expected for the sign in proper formatting to work
Please provide any additional info below
Not sure why this is happening on startup for you. This works without issues when I test it so my only guess would be that this is somehow a race condition when loading the property file? I'll make a small change which should remove that possibility so please see if this still happens on the next build when it's available.
And the /iteminfo error is caused by the other one on startup.
I'm still getting the same issues. The only time it works is when the plugin loads the config.yml for the first time. After it loads, all other files can stay but if the config.yml is there, it throws the error:
[19:56:41] [Server thread/ERROR]: Error occurred while enabling ChestShop v3.10-SNAPSHOT (compiled at 2019-05-03T00:50:43Z) (Is it up to date?) java.lang.IllegalArgumentException: Can not set static java.math.BigDecimal field com.Acrobot.ChestShop.Configuration.Properties.SHOP_CREATION_PRICE to java.lang.Integer at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[?:1.8.0_212] at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[?:1.8.0_212] at sun.reflect.UnsafeStaticObjectFieldAccessorImpl.set(UnsafeStaticObjectFieldAccessorImpl.java:79) ~[?:1.8.0_212] at java.lang.reflect.Field.set(Field.java:764) ~[?:1.8.0_212] at com.Acrobot.Breeze.Configuration.Configuration.pairFileAndClass(Configuration.java:55) ~[?:?] at com.Acrobot.ChestShop.ChestShop.loadConfig(ChestShop.java:150) ~[?:?] at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:112) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:416) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:458) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:372) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.reload(CraftServer.java:805) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.Bukkit.reload(Bukkit.java:576) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:27) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:149) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchCommand(CraftServer.java:707) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.dispatchServerCommand(CraftServer.java:692) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at net.minecraft.server.v1_14_R1.DedicatedServer.handleCommandQueue(DedicatedServer.java:433) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at net.minecraft.server.v1_14_R1.DedicatedServer.b(DedicatedServer.java:397) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:953) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:798) [spigot-1.14.jar:git-Spigot-1eece4f-dadc539] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_212]
Compilation OS: Debian 9
Spigot version: git-Spigot-1eece4f-dadc539 (MC: 1.14) (Implementing API version 1.14-R0.1-SNAPSHOT)
Did you compile that manually? If so then please try build 136 to make sure that you actually have the latest changes.
I did compile it manually. Now I tried the build here:
https://ci.minebench.de/job/ChestShop-3/lastBuild/
(build 136)
and I am getting the same error
(I have sidestepped the issue for now by disabling all shop creation fee** code, as I am not needing that for my server anyways, and it is working otherwise)
How did you disable the code? @betasauce
Same here
ChestShop v3.10-SNAPSHOT (build 136)
git-Spigot-1eece4f-09a453a (MC: 1.14) (Implementing API version 1.14-R0.1-SNAPSHOT)
Debian 8
[17:16:54] [Server thread/ERROR]: Error occurred while enabling ChestShop v3.10-SNAPSHOT (build 136) (Is it up to date?) java.lang.IllegalArgumentException: Can not set static java.math.BigDecimal field com.Acrobot.ChestShop.Configuration.Properties.SHOP_CREATION_PRICE to java.lang.Integer at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) ~[?:1.8.0_201] at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) ~[?:1.8.0_201] at sun.reflect.UnsafeStaticObjectFieldAccessorImpl.set(UnsafeStaticObjectFieldAccessorImpl.java:79) ~[?:1.8.0_201] at java.lang.reflect.Field.set(Field.java:764) ~[?:1.8.0_201] at com.Acrobot.Breeze.Configuration.Configuration.pairFileAndClass(Configuration.java:55) ~[?:?] at com.Acrobot.ChestShop.ChestShop.loadConfig(ChestShop.java:150) ~[?:?] at com.Acrobot.ChestShop.ChestShop.onEnable(ChestShop.java:112) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:263) ~[spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:352) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:416) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugin(CraftServer.java:458) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at org.bukkit.craftbukkit.v1_14_R1.CraftServer.enablePlugins(CraftServer.java:372) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:441) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at net.minecraft.server.v1_14_R1.DedicatedServer.init(DedicatedServer.java:258) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:762) [spigot-1.14.jar:git-Spigot-1eece4f-09a453a] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_201]
I cannot reproduce this issue running ChestShop build 136 (neither without or with an existing config or reloading the plugin), current latest Spigot (git-Spigot-1eece4f-09a453a) and Oracle JRE 8u211 on Windows 7 Professional.
Please provide some more information about the systems that you are experiencing this error on. (At least the OS and Java version (OpenJDK vs Orcale vs. some other JVM))
EDIT: Ok, I was now able to test this on a debian system and am seeing this now too. Apparently the JVM shipped there works differently or something? Not sure yet...
EDIT2: Well that was a "completely" different problem: The BigDecimal parser assumed that the number in the config would be a double when it could actually be an integer/long too... gonna fix that rn.