This mod has, so far, been built for Fabric Loader 0.15.11. It has been brought to my attention that the main version is currently incompatable with FL-16.0.
For now, I'm publishing this compatability version with the problem features removed without replacement while I look into a better fix.
Refactor
data-stacks/entity -> data-stacks/control
The directory for control tags like villagers_stack_less
and players_stack_more
has been renamed to control, as these tags control differencial stack_size behavior.
Bug Fixes
Dropping items no longer crashes Game.
Whoops. Hot fixed that issue. Sorry about that.
Bug Fixes
Differetn Stack Sizes sometimes eating items
Fixed a bug where having a different stack size for players would sometimes cause that item to be eaten when put into a non-player chest. Unfortunately, this fix introduced a new bug where different stack sizes for players sometimes refuse to stack without fanegalling. I'm looking into ways to fix this new qol issue without reintroducing the item eating bug.
Features
Player / Nonplayer Distinction.
Items(Besides Shulker Boxes) can now be configured to stack to different sizes in a player inventory vs a nonplayer inventory.
Note
If this feature is used with items that also use the Villager/ Nonvillager distinction: the item will only have have two stack sizes which will be binarily assigned to villager/players and nonvillagers/nonplayers. You cannot currently assign three or four stack sizes.
Bug Fixes
Fixed some of the (easy) causes of TPS problems when used as a server mod. The mod should be less process hungry than it was before.
Known Issues
Hoppers are bastards.
Hoppers seem to be causing the most TPS problems. I'm looking into solving the issue regarding them, but it's slow going.
Potions do not stack in brewing stand
Don't know what's up with this, I'm looking into the cause, but it's low priority because while they should be able to be configured to do so, in my opinion they should not be configured as such.
Datapack.
I've built an example datapack as a companion to this mod. It's unlisted to avoid creating cluttering the search results, but it can be found here.
Bug Fix
Villagers Better Respect Smaller Stack Sizes
Previously, if villagers were configured with a smaller stack size for an item than that item had in general, say 8
and 128
for sake of example, and a player dropped a stack of 128 items
at the villager's feet the villager could pick it up as one over-sized stack of 128.
This behavior has been corrected: Villagers, configured as above, presented with 128 items will pick up 8 stacks of 8 items and leave one half-stack of 64 items on the ground.
Here's hoping this bug fix helps me with my last feature goal (at this time
/Give now gives unique feedback when using stack
optional
What it says on the tin. Instead of saying it gave 57 widgets it says it gave 57 stacks of widgets.
Known Issues:
Problem with inconsistancy in decreasing stack size
Cause under investigation.
Problems Running Server Side without Client Side Support
Cause Under investigation: Client changed to Required in interm.
High Tick per Second Cost for Mod, Server Side.
Three potential causes identified still under further investigation.
Features
NEW Configurable Villager Pocket Size
Items can now be configured to stack to different sizes in villager and non-villager inventorys. For when you want to be able to stack wheat seeds to 256, but don't want villagers to be able to do the same thing.
For more information on how to set this up, visit The Wiki
New /Give
Me Stacks Of Stuff
Added an optional literal to the end of the vanilla /give
command: stack
. When used, the command will give the specified number of stacks rather than the specified number of items. The command can still only gives a player at most 100 stacks; so when using the stack
literal only integers between 1 and 100 inclusive give valid results.
Future Plans
Player /Nonplayer Max_Stack_Size Distinction
I'm looking into how to it up so that Player inventories and Nonplayer inventories can be programed to have seporately configurable stack sizes (similar to villagers), but it is proving much more difficult a feature to implement than Villagers were. If'd you'd like to assist in this endevour, as I'm not very clever, head over to the github and take a gander at my horrid, barely four months worth of java inexpertise, code. It functions, except when it doesn't.
Bug Fixes
Shulker Boxes Now Stack With the Socially Acceptable Amount of Eagerness.
Per 8.3, shulkers could stack irregardless of container
contents making for easy duping and voiding of items. This issue has been resolved. As such, Shulkers have earned back the privilege of having their stacksize directly driven by data, and even have a new feature with it.
Features
Shulker Boxs Are Now Bistackual.
Shulker boxes can now be configured to have two different stack sizes: One for empty boxes, and one for boxes with identical non-empty contents, by including the shulker in two (or more) different .jsons. Empty Shulker boxes will stack to the largest value: Shulker boxes with items will stack to the smallest value.
Example
Including "minecraft:shulker_box"
in both the max_stack_size_1.json
, max_stack_size_16.json
, and the max_stack_size_64.json
would have shulker boxes with items non-stackable, but empty shulkers stack to 64. The max_stack_size_16.json
has no effect.
Features
No new features this time around, but an important bug fix.
Bug Fixes
4 Digit Stacks Counts Now Respect Neighboring Slots' Personal Space.
Four digit numbers are now scaled to 0.69F
before being rendered. This makes them small enough to fit inside a single slot-width. NICE.
Three digits numbers have also been scaled down slightly at 0.90F
Name Change
Mod name changed from Even Bigger Stacks
to Data Driven Stacks
. Code has been internally updated to represent this.
Features
Overloaded stacks now stack with otherwise identical stack of smaller max size.
If you make a 256 large stack of dirt in one version of a datapack and then reload to a new datapack where dirt only stacks to 64, you will be able to pick up the 256 stack of dirt and place it into existing stacks smaller than 64.
Bug Fixes
reload
now Reloads.
Happy to have figured that one out.
Double Listing items no longer crashes game.
There was an issue discovered where if an item was in two max_stack_size jsons, it could cause the game to crash. This has been resolved by having the game apply only one max_stack_size json per item type. Larger stack sizes are prefered over smaller stack sizes, (putting dirt in both the ...128.json
and the ...256.json
will result in dirt stacking to 256.
Known Issues
4 Digit Count Rendering overflows slot.
I cannot for the life of me find the biting class responsible for rending this. The bug remains unsquished.
Features
Larger Max Stack Sizes
Overrides the hardcoded cap on max_stack_size
of 99
with 2048
Data Driven Max Stack Sizes (partially implemented)
Data in the bigger_stacks/tags/items
is used to determine what a stack's max_stack_size should be and set it to that size if safe to do so. This behavior is stopped if an item having any custom_data
.
Known Issues
/Reload
doesn't correctly data.
Data applies correctly on launch, but changes made to it after launch are not reflected when reloading
.
4 Digit Stack size's numbers over-flow the slot boundary.
Stacks of size 1000 or more have too much text at their current size to fit inside the boundary of a slot, overflowing into the next (left-wise) slot, making both unreadable.
Future Plans
Fix the two known bugs.
Obviously.