ScoreboardChatShop | Shop For Scoreboard Based Economies icon

ScoreboardChatShop | Shop For Scoreboard Based Economies -----

Chat based shop geared specifically for scoreboard objective based economies.



HEAD NOTE: This plugin works but is currently just a very small project completed by request. If it catches reasonable attention I will work to improve it but as of now it is and will remain a small project with fairly basic features.

Purpose:
Many servers started for Bedrock or using outdated tech utilize scoreboard objectives as a money source. This is primitive technology, and practically all modern plugins require Vault for economic functionality. This plugin is meant to function together with VaultToVanilla (which ties scoreboard objective based money into Vault for modern functionality) to provide a shop. Although this technically uses Vault for the economy backend, it is specifically geared towards purchases that only use whole dollars (integers) and no change (decimals) since objective based balances can't handle change. So this plugin automatically handles limiting purchases to whole number increments and other things which are necessary to operate in a whole dollar based economy.

Requirements:
Features:
  • Chat Based Shop - I couldn't find a single chat based shop for modern Minecraft, only GUI. Chat gang
  • Intelligent Autocomplete/Tab Suggestions
    • "/sell" autocompletes to showing only materials that can be sold and are currently in the player's inventory
    • "/sell" autocompletes showing example amounts that are multiples of the smallest bundle amount that can be sold (because no decimals/change is allowed)
    • "/buy" autocompletes to showing only materials that can be bought
    • "/buy" autocompletes showing example amounts that are multiples of the smallest bundle amount that can be bought (because no decimals/change is allowed)
    • "/price" autocompletes to showing all materials which can be either bought or sold
    • "/setprice" autocompletes to showing all materials in the game
  • Material Aliases - Some materials have cryptic/unintuitive names so you can assign your own aliases. For example the technical name is "bone_meal" but you can allow players to instead use "bonemeal", or perhaps make "seeds" mean "wheat_seeds".
  • "hand" Placeholder - Any place players specify a material, they can instead use "hand" to mean the item being held
  • "max" Placeholder - Any place players can specify an item amount, they can instead use "max" to mean the maximum their bank or inventory will permit. Note: This currently has intentionally odd functionality with /buy where it ONLY checks the max according to the player's bank account. If their bank permits them to buy more than their inventory can hold, then the purchase doesn't go through. This is intentional because I severely doubt anyone wants to purchase MORE than a full inventory's worth of any items.
  • Fully Custom Messages - Every message sent by the plugin can be customized with additional placeholders, coloring, and formatting.
Config Example(s):
Code (Text):

##########################################################
#               ScoreboardChatShop Config                #
##########################################################

Aliases:
 COBBLESTONE:
  - cobble
 OAK_PRESSURE_PLATE:
  - pressure_plate
  - pressureplate
 STONE_PRESSURE_PLATE:
  - stonepressureplate
# Format is
# [UPPERCASE_PARENT]:
#  - indented_child_1
#  - no_spaces_allowed_in_children_names
#  - child_3
#
# Parent material names can be found: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html

Minimal_Sell_Autocomplete: true
# Set this to true if you want to hide items from the sell tab
#  autocomplete which are not currently in the player's inventory.
# Set this to false if you want players to see all available items
#  for sale in the tab autocomplete regardless of what is in their
#  inventories.
# Keep in mind "/price" autocompletes a full list of possible
#  buy/sell items.

##########################################################
#                        Version                         #
##########################################################

VERSION: 1
#Do not touch this. No touchy.
 
Code (Text):

Buy_BundleAlert: "You can only buy that item in bundles of %scoreboardchatshop_basebundleamount%."
Buy_CanOnlySell: "You can only sell that item."
Buy_MissingMaterial: "That material can't be bought."
Buy_MissingInventorySpace: "You don't have enough inventory space for that."
Buy_NotBoughtOrSold: "That material is not bought or sold."
Buy_NotEnoughMoney: "You don't have enough money to buy that."
Buy_Success: "Purchased %scoreboardchatshop_amount% &>LCH#00FFAA%scoreboardchatshop_basematerial%&<LCH#FF00EA&r for &??$%scoreboardchatshop_price%."

Help_Buy: "/buy (item/hand) <amount> - Buy items"
Help_Price: "/price (item/hand) <amount> - Get buy/sell price"
Help_Sell: "/sell (item/hand) <amount> - Sell items"
Help_SetPrice: "/setprice (sell/buy) (item/hand) ($) <amount> - Set buy/sell price"

Error_ConsoleAttempt: "That command isn't available for console."
Error_MissingPerms: "You don't have permission to do that!"
Error_NumberFormat: "A number you have typed is formatted incorrectly."

Price_ConsoleAttempt: "Console must specify an item name."
Price_NotBoughtOrSold: "That item is not bought or sold."
Price_BuyResponse: "Buy: $%scoreboardchatshop_price% for %scoreboardchatshop_amount%. Buy in bundles of %scoreboardchatshop_basebundleamount%."
Price_SellResponse: "Sell: $%scoreboardchatshop_price% for %scoreboardchatshop_amount%. Sells in bundles of %scoreboardchatshop_basebundleamount%."

Sell_BundleAlert: "You can only sell that item in bundles of %scoreboardchatshop_basebundleamount%."
Sell_CanOnlyBuy: "You can only buy that item."
Sell_MissingMaterial: "That material can't be sold."
Sell_NotBoughtOrSold: "That material is not bought or sold."
Sell_NotEnoughItems: "You don't have enough items for that."
Sell_Success: "Sold %scoreboardchatshop_amount% &>LCH#FF00EA%scoreboardchatshop_basematerial%&<LCH#00FFAA&r for &?$%scoreboardchatshop_price%."

SetPrice_Success: "Successfully set the price of %scoreboardchatshop_basematerial% as $%scoreboardchatshop_price% for %scoreboardchatshop_amount%!"
SetPrice_MaterialDoesntExist: "That material does not exist."

#Syntax:
# %scoreboardchatshop_price% - Price of specific request (only functions where applicable)
# %scoreboardchatshop_amount% - Amount of specific arequest (only functions where applicable)
# %scoreboardchatshop_material% - Material specified (only functions where applicable)
# %scoreboardchatshop_basebundleprice% - Price of base bundle (only functions where applicable)
# %scoreboardchatshop_basebundleamount% - Amount of base bundle (only functions where applicable)
# %scoreboardchatshop_basematerial% - Official material name
#Coloring:
# - Standard color codes apply
# - "&?" substitutes as a random vanilla color
# - "&??" substitutes as a random hex color
# - "&>RGB######___&<RGB######" will become an RGB gradient spanning from the left hex code color to the right hex code color
#     ###### represents hex codes
#     ___ represents the text (typically a placeholder) which the gradient spans across
# - "&>LCH######___&<LCH######" will become an LCH gradient spanning from the left hex code color to the right hex code color
#     LCH traverses nicer across colors than RGB in my opinion. If you don't know the difference, not a big deal just try both.
#     ###### represents hex codes
#     ___ represents the text (typically a placeholder) which the gradient spans across
 

Donations: Support me @
_- https://paypal.me/AaronSkeels -_​
Resource Information
Author:
----------
Total Downloads: 133
First Release: Sep 5, 2022
Last Update: Sep 5, 2022
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings