2.1.0 Fixes 2

This commit is contained in:
Vos
2026-03-22 16:03:52 -05:00
parent aaf04d5e0b
commit 3655eba15e
@@ -1,14 +1,10 @@
package com.acethewildfire.acesbs.util; package com.acethewildfire.acesbs.util;
import com.acethewildfire.acesbs.AcesBS; import com.acethewildfire.acesbs.AcesBS;
import com.acethewildfire.acesbs.AcesBSClient; import com.acethewildfire.acesbs.item.AshenSteelItems;
import com.acethewildfire.acesbs.item.ModItems; import com.acethewildfire.acesbs.item.ModItems;
import com.acethewildfire.acesbs.item.PrismaSteelItems; import com.acethewildfire.acesbs.item.PrismaSteelItems;
import net.fabricmc.fabric.api.loot.v3.LootTableEvents; import net.fabricmc.fabric.api.loot.v3.LootTableEvents;
import net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantment;
import net.minecraft.enchantment.Enchantments; import net.minecraft.enchantment.Enchantments;
import net.minecraft.item.Item; import net.minecraft.item.Item;
@@ -16,36 +12,27 @@ import net.minecraft.item.ItemConvertible;
import net.minecraft.item.Items; import net.minecraft.item.Items;
import net.minecraft.loot.LootPool; import net.minecraft.loot.LootPool;
import net.minecraft.loot.LootTable; import net.minecraft.loot.LootTable;
import net.minecraft.loot.LootTables;
import net.minecraft.loot.condition.InvertedLootCondition; import net.minecraft.loot.condition.InvertedLootCondition;
import net.minecraft.loot.condition.LocationCheckLootCondition;
import net.minecraft.loot.condition.LootCondition; import net.minecraft.loot.condition.LootCondition;
import net.minecraft.loot.condition.MatchToolLootCondition; import net.minecraft.loot.condition.MatchToolLootCondition;
import net.minecraft.loot.condition.RandomChanceLootCondition;
import net.minecraft.loot.entry.ItemEntry; import net.minecraft.loot.entry.ItemEntry;
import net.minecraft.loot.function.ApplyBonusLootFunction; import net.minecraft.loot.function.ApplyBonusLootFunction;
import net.minecraft.loot.function.ExplosionDecayLootFunction; import net.minecraft.loot.function.ExplosionDecayLootFunction;
import net.minecraft.loot.provider.number.UniformLootNumberProvider; import net.minecraft.loot.provider.number.UniformLootNumberProvider;
import net.minecraft.predicate.BlockPredicate;
import net.minecraft.predicate.NumberRange; import net.minecraft.predicate.NumberRange;
import net.minecraft.predicate.component.ComponentPredicateTypes; import net.minecraft.predicate.component.ComponentPredicateTypes;
import net.minecraft.predicate.component.ComponentsPredicate; import net.minecraft.predicate.component.ComponentsPredicate;
import net.minecraft.predicate.entity.LocationPredicate;
import net.minecraft.predicate.item.EnchantmentPredicate; import net.minecraft.predicate.item.EnchantmentPredicate;
import net.minecraft.predicate.item.EnchantmentsPredicate; import net.minecraft.predicate.item.EnchantmentsPredicate;
import net.minecraft.predicate.item.ItemPredicate; import net.minecraft.predicate.item.ItemPredicate;
import net.minecraft.registry.*; import net.minecraft.registry.*;
import net.minecraft.registry.entry.RegistryEntry;
import net.minecraft.registry.entry.RegistryEntryList;
import net.minecraft.registry.tag.TagKey;
import net.minecraft.util.Identifier; import net.minecraft.util.Identifier;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Optional;
import static com.acethewildfire.acesbs.util.ModTags.Blocks.MC_ORES; public class ModLootTableModifier {
import static net.fabricmc.fabric.api.tag.convention.v2.ConventionalBlockTags.ORES;
public class UpdateRecipies {
public static LootCondition.Builder specialToolCondition(RegistryEntryLookup<Item> lookup, ItemConvertible... tools) { public static LootCondition.Builder specialToolCondition(RegistryEntryLookup<Item> lookup, ItemConvertible... tools) {
return MatchToolLootCondition.builder( return MatchToolLootCondition.builder(
ItemPredicate.Builder.create() ItemPredicate.Builder.create()
@@ -104,4 +91,36 @@ public class UpdateRecipies {
tableBuilder.pool(extraPool); tableBuilder.pool(extraPool);
}); });
} }
public static void updateChests(){
Identifier NETHER_FORTRESS_CHEST =
Identifier.of("minecraft", "chests/nether_bridge");
LootTableEvents.MODIFY.register((key, tableBuilder, source, wrapperLookup) -> {
if (NETHER_FORTRESS_CHEST.equals(key.getValue())) {
LootPool.Builder pool = LootPool.builder()
.with(ItemEntry.builder(AshenSteelItems.ASHEN_SMITHING_TEMPLATE))
.conditionally(RandomChanceLootCondition.builder(0.1f));
tableBuilder.pool(pool);
}
});
LootTableEvents.MODIFY.register((key, tableBuilder, source, wrapperLookup) -> {
if (key.equals(LootTables.HERO_OF_THE_VILLAGE_ARMORER_GIFT_GAMEPLAY)) {
LootPool.Builder pool = LootPool.builder()
.with(ItemEntry.builder(PrismaSteelItems.PRISMA_SMITHING_TEMPLATE))
.conditionally(RandomChanceLootCondition.builder(0.1f));
tableBuilder.pool(pool);
}
});
}
public static void updateAll(){
updateVanilla();
updateChests();
}
} }