Make Black Quartz Ore drop the item directly unless silk touched

This commit is contained in:
Mrbysco 2024-03-05 17:11:22 +01:00
parent 97c7a96958
commit abbc1ae90c
4 changed files with 44 additions and 10 deletions

View file

@ -35,7 +35,7 @@
- [ ] Add off-hand slots to energizer and enervator - [ ] Add off-hand slots to energizer and enervator
- [ ] Change the recipe of casings (the lava factory ones) to give only 4, and rename them to "Lava Factory Casing" - [ ] Change the recipe of casings (the lava factory ones) to give only 4, and rename them to "Lava Factory Casing"
- [x] Make coal generator create half as much CF, we don't want this to be a main power source for people( Flanks: already dropped to 20fe/t) - [x] Make coal generator create half as much CF, we don't want this to be a main power source for people( Flanks: already dropped to 20fe/t)
- [ ] Make black quartz drop the items directly, unless silk-touched - [x] Make black quartz drop the items directly, unless silk-touched
- [ ] Make storage crates work as follows, recipes unchanged: - [ ] Make storage crates work as follows, recipes unchanged:
- [ ] Lowest tier can hold 8192 of a single item - [ ] Lowest tier can hold 8192 of a single item
- [ ] Mid-tier can hold 16384 of two items - [ ] Mid-tier can hold 16384 of two items

View file

@ -1,4 +1,4 @@
// 1.20.4 2024-03-04T22:51:31.5994305 Loot Tables // 1.20.4 2024-03-05T17:10:52.5254064 Loot Tables
f6655bb234dbcf1041fe8ad95c976ddddda2b02a data/actuallyadditions/loot_tables/blocks/atomic_reconstructor.json f6655bb234dbcf1041fe8ad95c976ddddda2b02a data/actuallyadditions/loot_tables/blocks/atomic_reconstructor.json
e15c868b26b669c30365bfb93e7d9274e07df16d data/actuallyadditions/loot_tables/blocks/battery_box.json e15c868b26b669c30365bfb93e7d9274e07df16d data/actuallyadditions/loot_tables/blocks/battery_box.json
745d64af3b0203a138f9eca7de21ed4988b35c95 data/actuallyadditions/loot_tables/blocks/bio_reactor.json 745d64af3b0203a138f9eca7de21ed4988b35c95 data/actuallyadditions/loot_tables/blocks/bio_reactor.json
@ -7,7 +7,7 @@ e15c868b26b669c30365bfb93e7d9274e07df16d data/actuallyadditions/loot_tables/bloc
7ccaec2a308c46c91faaddf6c529e867a39a7b48 data/actuallyadditions/loot_tables/blocks/black_quartz_brick_slab.json 7ccaec2a308c46c91faaddf6c529e867a39a7b48 data/actuallyadditions/loot_tables/blocks/black_quartz_brick_slab.json
1281fecab9def4da2bb659354623b91704f8663e data/actuallyadditions/loot_tables/blocks/black_quartz_brick_stair.json 1281fecab9def4da2bb659354623b91704f8663e data/actuallyadditions/loot_tables/blocks/black_quartz_brick_stair.json
7d6c3fd126003b42e84c2159cf07b8c78ff1f729 data/actuallyadditions/loot_tables/blocks/black_quartz_brick_wall.json 7d6c3fd126003b42e84c2159cf07b8c78ff1f729 data/actuallyadditions/loot_tables/blocks/black_quartz_brick_wall.json
88e3daf6fc127c809adab583ebfc292dd6fd8142 data/actuallyadditions/loot_tables/blocks/black_quartz_ore.json fd391c2319606c9e6971f2dcda5eafd22ac12a82 data/actuallyadditions/loot_tables/blocks/black_quartz_ore.json
ad0d7ffd625d3bec74e52e1384c67120649c1108 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_block.json ad0d7ffd625d3bec74e52e1384c67120649c1108 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_block.json
c49b30e8d893f67866d0a47cf8682502468e9864 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_slab.json c49b30e8d893f67866d0a47cf8682502468e9864 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_slab.json
32fc64201d29c1a319808ac3bcef4fbab1ad2632 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_stair.json 32fc64201d29c1a319808ac3bcef4fbab1ad2632 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_stair.json

View file

@ -3,15 +3,44 @@
"pools": [ "pools": [
{ {
"bonus_rolls": 0.0, "bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [ "entries": [
{ {
"type": "minecraft:item", "type": "minecraft:alternatives",
"name": "actuallyadditions:black_quartz_ore" "children": [
{
"type": "minecraft:item",
"conditions": [
{
"condition": "minecraft:match_tool",
"predicate": {
"enchantments": [
{
"enchantment": "minecraft:silk_touch",
"levels": {
"min": 1
}
}
]
}
}
],
"name": "actuallyadditions:black_quartz_ore"
},
{
"type": "minecraft:item",
"functions": [
{
"enchantment": "minecraft:fortune",
"formula": "minecraft:ore_drops",
"function": "minecraft:apply_bonus"
},
{
"function": "minecraft:explosion_decay"
}
],
"name": "actuallyadditions:black_quartz"
}
]
} }
], ],
"rolls": 1.0 "rolls": 1.0

View file

@ -13,17 +13,21 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.flag.FeatureFlags;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.Items; import net.minecraft.world.item.Items;
import net.minecraft.world.item.enchantment.Enchantments;
import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.CropBlock; import net.minecraft.world.level.block.CropBlock;
import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.LootPool;
import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.LootTable;
import net.minecraft.world.level.storage.loot.ValidationContext; import net.minecraft.world.level.storage.loot.ValidationContext;
import net.minecraft.world.level.storage.loot.entries.LootItem; import net.minecraft.world.level.storage.loot.entries.LootItem;
import net.minecraft.world.level.storage.loot.functions.ApplyBonusCount;
import net.minecraft.world.level.storage.loot.functions.CopyNbtFunction; import net.minecraft.world.level.storage.loot.functions.CopyNbtFunction;
import net.minecraft.world.level.storage.loot.functions.SetItemCountFunction;
import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets; import net.minecraft.world.level.storage.loot.parameters.LootContextParamSets;
import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition; import net.minecraft.world.level.storage.loot.predicates.LootItemBlockStatePropertyCondition;
import net.minecraft.world.level.storage.loot.providers.nbt.ContextNbtProvider; import net.minecraft.world.level.storage.loot.providers.nbt.ContextNbtProvider;
import net.minecraft.world.level.storage.loot.providers.number.ConstantValue; import net.minecraft.world.level.storage.loot.providers.number.ConstantValue;
import net.minecraft.world.level.storage.loot.providers.number.UniformGenerator;
import net.neoforged.neoforge.registries.DeferredHolder; import net.neoforged.neoforge.registries.DeferredHolder;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
@ -189,6 +193,7 @@ public class LootTableGenerator extends LootTableProvider {
//TODO temp //TODO temp
dropSelf(ActuallyBlocks.BLACK_QUARTZ_ORE.get()); dropSelf(ActuallyBlocks.BLACK_QUARTZ_ORE.get());
add(ActuallyBlocks.BLACK_QUARTZ_ORE.get(), createOreDrop(ActuallyBlocks.BLACK_QUARTZ_ORE.getBlock(), ActuallyItems.BLACK_QUARTZ.get()));
//this.add(ActuallyBlocks.BLACK_QUARTZ_ORE.get(), ore -> droppingItemWithFortune(ore, ActuallyItems.BLACK_QUARTZ.get())); //this.add(ActuallyBlocks.BLACK_QUARTZ_ORE.get(), ore -> droppingItemWithFortune(ore, ActuallyItems.BLACK_QUARTZ.get()));