Fix logs dropping sawdust + generate GLMs
This commit is contained in:
parent
b78263e071
commit
8e92e70b8e
|
|
@ -1,4 +1,4 @@
|
|||
// 1.21 2024-07-07T19:20:32.6499748 Tags for minecraft:item mod id exdeorum
|
||||
// 1.21 2024-07-09T11:58:49.7850138 Tags for minecraft:item mod id exdeorum
|
||||
6c72957356b1d59a27be736fa1da54a5a9795ef7 data/exdeorum/tags/item/barrels.json
|
||||
6afa16b45f76c0defa1675d07586e2c6e6b0be69 data/exdeorum/tags/item/compressed/andesite.json
|
||||
31b46613766e4cdc53196850495ab1019f61cb48 data/exdeorum/tags/item/compressed/blackstone.json
|
||||
|
|
@ -30,6 +30,6 @@ b90bd3c642e69b9e800c58a9f8f53e369652e6ba data/exdeorum/tags/item/pebbles.json
|
|||
8e1b5ab26037123d3948e9ac9f50da1b7cd0a129 data/exdeorum/tags/item/sieve_meshes.json
|
||||
0152da758e7665bf282f17f466599c7a009d9a15 data/exdeorum/tags/item/stone_barrels.json
|
||||
8bde4a30abefaa373fa41813da07b6f79f32b874 data/exdeorum/tags/item/wooden_barrels.json
|
||||
564bef8c17ecd8c359840d05c11c4af926e2a795 data/minecraft/tags/item/enchantable/durability.json
|
||||
28fd077df8796b5061613218d902549c88f3e2fb data/minecraft/tags/item/enchantable/durability.json
|
||||
564bef8c17ecd8c359840d05c11c4af926e2a795 data/minecraft/tags/item/enchantable/mining.json
|
||||
564bef8c17ecd8c359840d05c11c4af926e2a795 data/minecraft/tags/item/enchantable/mining_loot.json
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
// 1.21 2024-07-09T12:06:52.712022 Global Loot Modifiers : exdeorum
|
||||
539ba0e881830430ae2c03f7ac8dec6f2de478a0 data/exdeorum/loot_modifiers/compressed_hammer.json
|
||||
dd0417e36e03e0f51e1f1bbcff295b54128fdf8f data/exdeorum/loot_modifiers/crook.json
|
||||
57991d8346a472f12c1a4b6cb94151d2c1bfa371 data/exdeorum/loot_modifiers/hammer.json
|
||||
ec4635d28242c1e6ec5858fb58e43c004a34dbc1 data/neoforge/loot_modifiers/global_loot_modifiers.json
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
{
|
||||
"condition": "minecraft:match_tool",
|
||||
"predicate": {
|
||||
"tag": "exdeorum:compressed_hammers"
|
||||
"items": "#exdeorum:compressed_hammers"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
{
|
||||
"condition": "minecraft:match_tool",
|
||||
"predicate": {
|
||||
"tag": "exdeorum:crooks"
|
||||
"items": "#exdeorum:crooks"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
{
|
||||
"condition": "minecraft:match_tool",
|
||||
"predicate": {
|
||||
"tag": "exdeorum:hammers"
|
||||
"items": "#exdeorum:hammers"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
"values": [
|
||||
"#exdeorum:hammers",
|
||||
"#exdeorum:compressed_hammers",
|
||||
"#exdeorum:crooks",
|
||||
"#exdeorum:sieve_meshes"
|
||||
"#exdeorum:crooks"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"entries": [
|
||||
"exdeorum:compressed_hammer",
|
||||
"exdeorum:hammer",
|
||||
"exdeorum:crook"
|
||||
],
|
||||
"replace": false
|
||||
}
|
||||
|
|
@ -29,7 +29,7 @@ public class Data {
|
|||
// Two things used by data generators
|
||||
var gen = event.getGenerator(); // writes to json
|
||||
var output = gen.getPackOutput();
|
||||
var lookup = event.getLookupProvider();
|
||||
var registries = event.getLookupProvider();
|
||||
// reads existing files like pngs and parent models
|
||||
var helper = event.getExistingFileHelper();
|
||||
|
||||
|
|
@ -45,8 +45,9 @@ public class Data {
|
|||
dataHelper.createTags(Registries.STRUCTURE_SET, ModTags::createStructureSetTags);
|
||||
dataHelper.createTags(Registries.WORLD_PRESET, ModTags::createWorldPresetTags);
|
||||
|
||||
gen.addProvider(true, new LootTables(output, lookup));
|
||||
gen.addProvider(true, new Advancements(output, lookup, helper));
|
||||
gen.addProvider(true, new LootTables(output, registries));
|
||||
gen.addProvider(true, new Advancements(output, registries, helper));
|
||||
gen.addProvider(true, new Sounds(output, helper));
|
||||
gen.addProvider(true, new LootModifiers(output, registries));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
38
src/main/java/thedarkcolour/exdeorum/data/LootModifiers.java
Normal file
38
src/main/java/thedarkcolour/exdeorum/data/LootModifiers.java
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
package thedarkcolour.exdeorum.data;
|
||||
|
||||
import net.minecraft.advancements.critereon.ItemPredicate;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.level.storage.loot.predicates.LootItemCondition;
|
||||
import net.minecraft.world.level.storage.loot.predicates.MatchTool;
|
||||
import net.neoforged.neoforge.common.data.GlobalLootModifierProvider;
|
||||
import net.neoforged.neoforge.common.loot.IGlobalLootModifier;
|
||||
import thedarkcolour.exdeorum.ExDeorum;
|
||||
import thedarkcolour.exdeorum.loot.CompressedHammerLootModifier;
|
||||
import thedarkcolour.exdeorum.loot.CrookLootModifier;
|
||||
import thedarkcolour.exdeorum.loot.HammerLootModifier;
|
||||
import thedarkcolour.exdeorum.tag.EItemTags;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.function.Function;
|
||||
|
||||
class LootModifiers extends GlobalLootModifierProvider {
|
||||
LootModifiers(PackOutput output, CompletableFuture<HolderLookup.Provider> registries) {
|
||||
super(output, registries, ExDeorum.ID);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void start() {
|
||||
add("hammer", HammerLootModifier::new, EItemTags.HAMMERS);
|
||||
add("compressed_hammer", CompressedHammerLootModifier::new, EItemTags.COMPRESSED_HAMMERS);
|
||||
add("crook", CrookLootModifier::new, EItemTags.CROOKS);
|
||||
}
|
||||
|
||||
private void add(String name, Function<LootItemCondition[], IGlobalLootModifier> constructor, TagKey<Item> requiredTag) {
|
||||
add(name, constructor.apply(new LootItemCondition[]{new MatchTool(Optional.of(ItemPredicate.Builder.item().of(requiredTag).build()))}), List.of());
|
||||
}
|
||||
}
|
||||
|
|
@ -43,7 +43,7 @@ import java.util.List;
|
|||
public class CrookLootModifier extends LootModifier {
|
||||
public static final MapCodec<CrookLootModifier> CODEC = RecordCodecBuilder.mapCodec(inst -> LootModifier.codecStart(inst).apply(inst, CrookLootModifier::new));
|
||||
|
||||
protected CrookLootModifier(LootItemCondition[] conditions) {
|
||||
public CrookLootModifier(LootItemCondition[] conditions) {
|
||||
super(conditions);
|
||||
}
|
||||
|
||||
|
|
@ -52,7 +52,7 @@ public class CrookLootModifier extends LootModifier {
|
|||
var state = context.getParamOrNull(LootContextParams.BLOCK_STATE);
|
||||
var stack = context.getParamOrNull(LootContextParams.TOOL);
|
||||
|
||||
if (state != null && stack != null && stack.getItem() != Items.BARRIER) {
|
||||
if (state != null && stack != null) {
|
||||
var rand = context.getRandom();
|
||||
|
||||
if (stack.getEnchantmentLevel(context.getLevel().holderLookup(Registries.ENCHANTMENT).getOrThrow(Enchantments.SILK_TOUCH)) == 0) {
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ import thedarkcolour.exdeorum.recipe.hammer.HammerRecipe;
|
|||
public class HammerLootModifier extends LootModifier {
|
||||
public static final MapCodec<HammerLootModifier> CODEC = RecordCodecBuilder.mapCodec(inst -> LootModifier.codecStart(inst).apply(inst, HammerLootModifier::new));
|
||||
|
||||
protected HammerLootModifier(LootItemCondition[] conditionsIn) {
|
||||
public HammerLootModifier(LootItemCondition[] conditionsIn) {
|
||||
super(conditionsIn);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"replace": false,
|
||||
"entries":[
|
||||
"exdeorum:crook",
|
||||
"exdeorum:hammer",
|
||||
"exdeorum:compressed_hammer"
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user