-
-
Notifications
You must be signed in to change notification settings - Fork 980
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added /sell multipliers with configuration #4770
base: 2.x
Are you sure you want to change the base?
Conversation
Feature request @ EssentialsX#3934
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also needs to account for sell sign
@@ -405,6 +405,7 @@ public interface ISettings extends IConf { | |||
boolean isUpdateCheckEnabled(); | |||
|
|||
boolean showZeroBaltop(); | |||
BigDecimal getMultiplier(final User user); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BigDecimal getMultiplier(final User user); | |
BigDecimal getMultiplier(final User user); |
@@ -91,7 +91,7 @@ public void run(final Server server, final User user, final String commandLabel, | |||
|
|||
private BigDecimal sellItem(final User user, final ItemStack is, final String[] args, final boolean isBulkSell) throws Exception { | |||
final int amount = ess.getWorth().getAmount(ess, user, is, args, isBulkSell); | |||
final BigDecimal worth = ess.getWorth().getPrice(ess, is); | |||
final BigDecimal worth = ess.getWorth().getPrice(ess, is) == null ? null : ess.getWorth().getPrice(ess, is).multiply(ess.getSettings().getMultiplier(user)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
final BigDecimal worth = ess.getWorth().getPrice(ess, is) == null ? null : ess.getWorth().getPrice(ess, is).multiply(ess.getSettings().getMultiplier(user)); | |
final BigDecimal originalWorth = ess.getWorth().getPrice(ess, is); | |
final BigDecimal worth = originalWorth == null ? null : originalWorth.multiply(ess.getSettings().getMultiplier(user)); |
# Settings for /sell multipliers | ||
# Give multipliers to players with the permission 'essentials.sell.multiplier.{multiplier}' | ||
# example: 'essentials.sell.multiplier.double', 'essentials.sell.multiplier.triple' | ||
# You can add as many multipliers as you want. | ||
# Use the "default" name to set the default multiplier that everyone has. It defaults to 1 if not set. | ||
# If a player has more than one multiplier permission, it will pick the highest one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# Settings for /sell multipliers | |
# Give multipliers to players with the permission 'essentials.sell.multiplier.{multiplier}' | |
# example: 'essentials.sell.multiplier.double', 'essentials.sell.multiplier.triple' | |
# You can add as many multipliers as you want. | |
# Use the "default" name to set the default multiplier that everyone has. It defaults to 1 if not set. | |
# If a player has more than one multiplier permission, it will pick the highest one. | |
# Allow players to receive multipliers for items sold with /sell or the sell sign. | |
# You can set the default multiplier using the 'default' rank below. | |
# To grant different multipliers to different people, you need to define a 'multiplier-rank' below. | |
# Create the 'multiplier-rank' below, and give the matching permission: essentials.sell.multiplier.<multiplier-rank> |
Can we please get sell multipliers implemented to latest essentialsx? |
Information
This PR closes #3934
Details
Proposed feature:
Sell multipliers! The idea is for servers to be able to control how much players can /sell their items for based on configurable permissions. I re-wrote this based on @Chew's feedback to work more similarly to the multiple set-home system so that it doesn't have to iterate over all of a players' permissions and instead, check if they have the ones in the config.
#3934
Environments tested:
OS: Windows 10
Java version: OpenJDK 17.0.1
Demonstration:
Screenshot: https://i.imgur.com/ju0jMUy.png
Here I give myself a diamond and sell it with no permissions (as op), then I give myself the "essentials.sell.multiplier.double" permission and as you can see, my sell price is double.
Plugin Download: https://www.dropbox.com/s/56y3zf6ibarlwj4/EssentialsX-2.19.3-dev%2B6-739600e-sell-multipliers-redo.jar?dl=0