2.1.0 Fixes 2
This commit is contained in:
+36
-17
@@ -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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user