diff --git a/port.MD b/port.MD index 3d195448d..fdb9bff4b 100644 --- a/port.MD +++ b/port.MD @@ -35,7 +35,7 @@ - [ ] 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" - [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: - [ ] Lowest tier can hold 8192 of a single item - [ ] Mid-tier can hold 16384 of two items diff --git a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d index 1f3efd294..6dc43ddd6 100644 --- a/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d +++ b/src/generated/resources/.cache/59eb3dbb5f86130e09b3c62d89b9525ee01cf52d @@ -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 e15c868b26b669c30365bfb93e7d9274e07df16d data/actuallyadditions/loot_tables/blocks/battery_box.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 1281fecab9def4da2bb659354623b91704f8663e data/actuallyadditions/loot_tables/blocks/black_quartz_brick_stair.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 c49b30e8d893f67866d0a47cf8682502468e9864 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_slab.json 32fc64201d29c1a319808ac3bcef4fbab1ad2632 data/actuallyadditions/loot_tables/blocks/black_quartz_pillar_stair.json diff --git a/src/generated/resources/data/actuallyadditions/loot_tables/blocks/black_quartz_ore.json b/src/generated/resources/data/actuallyadditions/loot_tables/blocks/black_quartz_ore.json index 51f1edef2..d19e97dda 100644 --- a/src/generated/resources/data/actuallyadditions/loot_tables/blocks/black_quartz_ore.json +++ b/src/generated/resources/data/actuallyadditions/loot_tables/blocks/black_quartz_ore.json @@ -3,15 +3,44 @@ "pools": [ { "bonus_rolls": 0.0, - "conditions": [ - { - "condition": "minecraft:survives_explosion" - } - ], "entries": [ { - "type": "minecraft:item", - "name": "actuallyadditions:black_quartz_ore" + "type": "minecraft:alternatives", + "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 diff --git a/src/main/java/de/ellpeck/actuallyadditions/data/LootTableGenerator.java b/src/main/java/de/ellpeck/actuallyadditions/data/LootTableGenerator.java index e04b97cd2..c424834b6 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/data/LootTableGenerator.java +++ b/src/main/java/de/ellpeck/actuallyadditions/data/LootTableGenerator.java @@ -13,17 +13,21 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.item.Item; 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.CropBlock; import net.minecraft.world.level.storage.loot.LootPool; import net.minecraft.world.level.storage.loot.LootTable; import net.minecraft.world.level.storage.loot.ValidationContext; 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.SetItemCountFunction; 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.providers.nbt.ContextNbtProvider; 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 javax.annotation.Nonnull; @@ -189,6 +193,7 @@ public class LootTableGenerator extends LootTableProvider { //TODO temp 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()));