Description
The Autosieve appears to lose valid drops from later entries in the sieve loot table when using high-multiplier meshes such as the Aetherium Mesh from Ascendant Technology.
This becomes especially noticeable when sieving Sand.
The Autosieve has 9 output slots, but Sand currently has up to 15 possible output types. With Aetherium Mesh (multiplier: 10, amount_multiplier: 2), many of the early loot entries reach 100% drop chance.
Because the Autosieve processes the loot table sequentially and immediately inserts each successful drop, the first 9 different item types can fill all output slots before later entries such as Clay Ball, Redstone, Certus Quartz, etc. are processed.
The later rolls may technically succeed, but their items cannot be inserted and appear to be lost.
Environment
- Minecraft Bedrock Dedicated Server
- UtilityCraft: 3.5.4
- Ascendant Technology: 0.9.2
- Mesh: Aetherium Mesh
- Tier: 8
- Chance multiplier: 10x
- Amount multiplier: 2x
Steps to reproduce
- Place an Autosieve.
- Insert an Aetherium Mesh.
- Make sure all 9 output slots are empty.
- Insert Sand.
- Allow the Autosieve to process Sand.
- Compare the resulting items with the Sand sieve loot table.
Actual behavior
The early entries in the Sand loot table fill most or all of the 9 output slots.
For Sand, the loot entries are processed in this order:
- Prismarine Shard
- Prismarine Crystals
- Copper Chunk
- Bone Meal
- Gunpowder
- Glowstone Dust
- Blaze Powder
- Cactus
- Kelp
- Clay Ball
- Cocoa Beans
- Conduit
- Redstone
- Certus Quartz Crystal
- Charged Certus Quartz Crystal
With Aetherium Mesh, most of entries 1-9 have a 100% final drop chance.
This means the inventory is often already full before Clay Ball and Redstone are processed.
In testing, Clay and Redstone were produced much less frequently than their effective drop chances would suggest.
Suspected cause
In autosieve.js, the recipe is processed sequentially:
recipe.forEach(loot => {
if (tier < (loot.tier ?? 0)) return;
if (loot.item == "minecraft:flint" && tier >= 7) return;
if (Math.random() <= loot.chance * multi) {
...
DoriosLib.entity.tryAddItem(machine.entity, {
item: loot.item,
amount: ...
});
}
});
Description
The Autosieve appears to lose valid drops from later entries in the sieve loot table when using high-multiplier meshes such as the Aetherium Mesh from Ascendant Technology.
This becomes especially noticeable when sieving Sand.
The Autosieve has 9 output slots, but Sand currently has up to 15 possible output types. With Aetherium Mesh (
multiplier: 10,amount_multiplier: 2), many of the early loot entries reach 100% drop chance.Because the Autosieve processes the loot table sequentially and immediately inserts each successful drop, the first 9 different item types can fill all output slots before later entries such as Clay Ball, Redstone, Certus Quartz, etc. are processed.
The later rolls may technically succeed, but their items cannot be inserted and appear to be lost.
Environment
Steps to reproduce
Actual behavior
The early entries in the Sand loot table fill most or all of the 9 output slots.
For Sand, the loot entries are processed in this order:
With Aetherium Mesh, most of entries 1-9 have a 100% final drop chance.
This means the inventory is often already full before Clay Ball and Redstone are processed.
In testing, Clay and Redstone were produced much less frequently than their effective drop chances would suggest.
Suspected cause
In
autosieve.js, the recipe is processed sequentially: