Added
- Added
formOfficialAddonID
method to provide a formed string, such as "villagercoin-{id}". - Added
formAddonID
method to provide a formed string, such as "{id}-villagercoin". - Added
ReceiptItem
andLedgerItem
objects from Bookkeeping to simplify the process for add-ons.
This update resolves issues with add-ons registering the same Block Entity by implementing a queue system in Platform's Feature Manager. Add-on developers can register their blocks with Villager Coin and the Feature Manager from Platform will register them with their Block Entity at the end of feature initialization.
Added
- Added
maximumCoinBankCurrencyValue
option to allow controlling the maximum currency value of Coin Banks. This option is set to the maximum Integer value by default. - Added
addCoinsToModdedStructureLootTables
option to allow forcing coins into loot tables for non-vanilla structures. If a structure's loot table is modified by a data pack this mod will not make any modifications. - Added
addCoinsToModdedMobDrops
option to allow forcing coins into loot tables for non-vanilla mobs. - Added additional keyword configuration files for inclusion, and exclusion, of coins in modded loot tables and mob drops.
Changed
- Moved coin registrations for mob drops to Entity Type tags. This allows datapacks to add coins to entities.
- Changed supported Platform version to 1.3.0. This adds queues to the Feature Manager.
Fixed
- Add-ons now properly load shared block entities as intended. Coin Banks and Coin Stacks are now added to lists at registration and included in the Block Entity registration at the end of Platform's Feature Manager's loading queue.
- ItemStacks in Merchant Trades now properly maintain their components.
- Coins now drop appropriate amounts depending on the type of mob.
- Fixed an issue with Looting 3 swords causing an excessive amount of items to drop.
This update resolves an issue with modded containers causing a fatal crash when saving stacks greater than 99.
This update moves Receipts from Villager Coin to their own addon: Bookkeeping for Villager Coin. If you have any Receipts in your world, it is advised that you wait to update until the Bookeeping addon is approved, and you can download it to keep your Receipts intact.
Added
- Added missing player stats for inserting coins in Coin Banks, crafting Villager Coins, crafting Receipts, and crafting Coin Stacks.
- Added
LedgerCraftingFeature
to allow addons to provide craftable Ledgers that allows players to catalog their receipts.
Changed
- Changed default
maximumCoinStackSize
to 1,000. This is to be more inline with the Coin Stack recipes for full blocks. This also makes it clearer how many coins are in a stack rather than an obscured amount. ("1250" appears as "1k+") Additionally, this reduces the overall chances of amounts exceeding the maximum long value. Existing stacks remain capped at 5,000 and, when over 1,000, can be picked up but will only place 1,000 when trying to place back in an inventory slot. This value can still be controlled through the config. It will remain at 5000, per the config, for existing worlds. - Changed Coin Bank crafting recipe to add the value of the ingredient coin to the crafted Coin Bank. The recipe will still only consume 1 Coin per Coin Bank. This makes it meaningful to use higher value coins in the recipe.
- The thank-you message on receipts can now be changed by renaming the paper ingredient with an anvil before crafting the receipt.
- Changed Warden mob drop from Netherite to Gold as Wardens can easily be farmed in an automated way.
Removed
- Removed receipts from core and into their own addon: Bookkeeping for Villager Coin.
This allows players to choose which receipts they want in their world, the official ones or other modded ones.
The Bookkeeping addon also introduces related items, like a Ledger that allows players to catalog their receipts.
Villager Coin still provides the core shared
ReceiptFeature
andReceiptCraftingFeature
functionality of receipts for addons.
Fixed
- Fixed an issue with modded containers, not implementing vanilla methods, causing a fatal crash when saving stacks greater than 99.
This was resolved by forcing
Codecs.rangedInt
to set the max value to theInteger.MAX_VALUE
if the max is greater than 99.
Added
- Added craftable Villager Coin Receipts. Place a piece of paper in a crafting table with a stack of coins to craft a receipt.
- Added coin specific subtitles.
- Added value tooltip to coin items with a currency component.
- Added option to allow coin entities to sink, instead of float, in water and lava.
- Added option to toggle Coin Stacks breaking on collision. The default value prevents breaking on collision. This is to match the expected functionality of Minecraft blocks.
- Added
CoinStackCraftingFeature
to allow crafting Coin Stacks.
Changed
- Changed Currency values to use a Long number type instead of an Integer. This to allow larger values. Safety measures have been put in place for instances where an integer is required. Coin Banks are still capped at the maximum Integer value.
- Players in Creative mode no longer break Coin Stacks by walking over them. This change is to make it easier for mapmakers to work with the Coin Stacks.
- Flipping a coin now sends a signal to sculk sensors.
- Inserting coins in Coin Banks now sends a signal to sculk sensors.
- If collisions are enabled, Coin Stacks no longer drop coins when a player collides with them while sneaking/crouched.
- Coin Stacks now drop their item form when broken with Silk Touch.
Added
- Added
getSmallestCoin
utility method toCoinCraftingFeature
. This allows developers to get an ItemStack with a total value in Copper Villager Coins. - Added
CoinStackBlocksFeature
. - Added
AbstractCoinStackBlock
andAbstractCoinCollectionBlock
.
Changed
- Coin Bank Blocks now accept coins from hoppers above them that are pointed down.
- Changed
AbstractCoinBankBlock
to extendAbstractCoinCollectionBlock
. - Changed
AbstractCoinCollectionBlock
to implementWaterloggable
. Coin Banks and Coin Stacks can now be waterlogged. - Changed Value tooltips for Coin Banks and Coin Stacks to a readable format.
Added
- Coin Bank Blocks now provide a comparator output relative to their value limit of 2,147,483,647.
Fixed
- Coin Bank Blocks now properly drop their coins when broken in various ways (pistons, water, arrows, etc.).
- Coin Bank Blocks now properly respect their value limit of 2,147,483,647.
Added
- Added
CoinBankBlocksFeature
,AbstractCoinBankBlock
, andAbstractCoinBankBlockEntity
to allow addon mods to provide "Coin Bank" blocks that can only hold coins, hold the value of the coins if broken with silk touch, and drop the total value in coins when broken without silk touch. - Added additional item tags for the various types of coins.
- Added item tag for coin banks.
Changed
- Changed location of components from
villagercoin.data.component
tovillagercoin.component
.
Fixed
- Fixed issue with multiple coins in the crafting table where smaller coins were being consumed before larger coins.
Added
- Added options for Edible coins.
Changed
- Changed
StructuresIncludeCoinsFeature
to useLootTableComponent
data. - Changed
MobsDropCoinsFeature
to useDropComponent
data. - Added
LootTableComponent
to hold information about a coins loot table. - Added
DropComponent
to hold information about a coins mob drop chances.
Removed
- Removed
JUNGLE_TEMPLE_DISPENSER_CHEST
loot table from the Iron coin loot table.
Fixed
- Loot tables now work as intended.
- Mob drops now work as intended.
Villager Coin has been rewritten as a coin currency library and now only provides the core currency coins in favor of addon mods providing additional coins. Many values have been exposed through the configuration file to create a customized coin economy. New features have been added to the code to provide a simpler experience for mod developers. More information about customizing Villager Coin can be found on the new Wiki at https://github.com/VillagerUnknown/VillagerCoin/wiki
Added
- Added option to set currency conversion multiplier.
- Added option to set maximum number of coins in a stack. The default remains 5,000.
- Added options for managing Coin drop values.
- Added options for managing Gold Coin trades.
- Added the
EdibleCoinFeature
class to allow addon developers to easily add edible coins that players can eat. - Added the
CollectableCoinFeature
class to allow addon developers to easily add collectable coins with a limited number in existence. - Added the
InventoryEffectCoinFeature
class to allow addon developers to easily add coins with a limited number in existence that apply status effects when in a player's inventory.
Changed
- Changed the code to make it friendlier for other developers.
- Changed item group for Villager Coin items.
Removed
- Removed edible coin items and moved them to an addon mod: Edible Coins for Villager Coin.
Initial release