Class NeoForgeLootTableProvider

java.lang.Object
net.minecraft.data.loot.LootTableProvider
net.neoforged.neoforge.common.data.internal.NeoForgeLootTableProvider
All Implemented Interfaces:
net.minecraft.data.DataProvider

public final class NeoForgeLootTableProvider extends net.minecraft.data.loot.LootTableProvider
Currently used only for replacing shears item to shears_dig item ability
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.data.loot.LootTableProvider

    net.minecraft.data.loot.LootTableProvider.SubProviderEntry

    Nested classes/interfaces inherited from interface net.minecraft.data.DataProvider

    net.minecraft.data.DataProvider.Factory<T extends net.minecraft.data.DataProvider>
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final List<Function<net.minecraft.world.level.storage.loot.predicates.LootItemCondition,net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder>>
     

    Fields inherited from interface net.minecraft.data.DataProvider

    FIXED_ORDER_FIELDS, INDENT_WIDTH, KEY_COMPARATOR
  • Constructor Summary

    Constructors
    Constructor
    Description
    NeoForgeLootTableProvider(net.minecraft.data.PackOutput packOutput, CompletableFuture<net.minecraft.core.HolderLookup.Provider> provider)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    private boolean
    checkMatchTool(net.minecraft.world.level.storage.loot.predicates.MatchTool lootCondition, net.minecraft.world.item.Item expected)
     
    private boolean
    findAndReplaceInComposite(net.minecraft.world.level.storage.loot.predicates.CompositeLootItemCondition alternative, Consumer<net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder> poolBuilder)
     
    private boolean
    findAndReplaceInLootEntry(net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer entry, Consumer<net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer.Builder<?>> newBuilder)
     
    private boolean
    findAndReplaceInLootPool(net.minecraft.world.level.storage.loot.LootPool lootPool, net.minecraft.world.level.storage.loot.LootTable.Builder newBuilder)
     
    private net.minecraft.world.level.storage.loot.LootTable.Builder
    findAndReplaceInLootTableBuilder(net.minecraft.world.level.storage.loot.LootTable.Builder builder)
     
    private boolean
    findAndReplaceInParentedLootEntry(net.minecraft.world.level.storage.loot.entries.CompositeEntryBase entry, Consumer<net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer.Builder<?>> newBuilder)
     
    private <T, C> T
    getPrivateValue(Class<C> clazz, C inst, String name)
     
    List<net.minecraft.data.loot.LootTableProvider.SubProviderEntry>
     
    private net.minecraft.data.loot.LootTableSubProvider
    replaceAndFilterChangesOnly(net.minecraft.data.loot.LootTableSubProvider subProvider)
     
    private boolean
    replaceCondition(net.minecraft.world.level.storage.loot.predicates.LootItemCondition lootCondition, Consumer<net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder> poolBuilder)
     
    private void
    replaceLootItemCondition(Function<net.minecraft.world.level.storage.loot.predicates.LootItemCondition,net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder> replacer)
     
    protected void
    validate(net.minecraft.core.WritableRegistry<net.minecraft.world.level.storage.loot.LootTable> writableregistry, net.minecraft.world.level.storage.loot.ValidationContext validationcontext, net.minecraft.util.ProblemReporter.Collector problemreporter$collector)
     

    Methods inherited from class net.minecraft.data.loot.LootTableProvider

    getName, run

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • conditionReplacers

      private final List<Function<net.minecraft.world.level.storage.loot.predicates.LootItemCondition,net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder>> conditionReplacers
  • Constructor Details

    • NeoForgeLootTableProvider

      public NeoForgeLootTableProvider(net.minecraft.data.PackOutput packOutput, CompletableFuture<net.minecraft.core.HolderLookup.Provider> provider)
  • Method Details

    • validate

      protected void validate(net.minecraft.core.WritableRegistry<net.minecraft.world.level.storage.loot.LootTable> writableregistry, net.minecraft.world.level.storage.loot.ValidationContext validationcontext, net.minecraft.util.ProblemReporter.Collector problemreporter$collector)
      Overrides:
      validate in class net.minecraft.data.loot.LootTableProvider
    • getTables

      public List<net.minecraft.data.loot.LootTableProvider.SubProviderEntry> getTables()
      Overrides:
      getTables in class net.minecraft.data.loot.LootTableProvider
    • replaceAndFilterChangesOnly

      private net.minecraft.data.loot.LootTableSubProvider replaceAndFilterChangesOnly(net.minecraft.data.loot.LootTableSubProvider subProvider)
    • replaceLootItemCondition

      private void replaceLootItemCondition(Function<net.minecraft.world.level.storage.loot.predicates.LootItemCondition,net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder> replacer)
    • findAndReplaceInLootTableBuilder

      @Nullable private net.minecraft.world.level.storage.loot.LootTable.Builder findAndReplaceInLootTableBuilder(net.minecraft.world.level.storage.loot.LootTable.Builder builder)
    • findAndReplaceInLootPool

      private boolean findAndReplaceInLootPool(net.minecraft.world.level.storage.loot.LootPool lootPool, net.minecraft.world.level.storage.loot.LootTable.Builder newBuilder)
    • findAndReplaceInParentedLootEntry

      private boolean findAndReplaceInParentedLootEntry(net.minecraft.world.level.storage.loot.entries.CompositeEntryBase entry, Consumer<net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer.Builder<?>> newBuilder)
    • findAndReplaceInLootEntry

      private boolean findAndReplaceInLootEntry(net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer entry, Consumer<net.minecraft.world.level.storage.loot.entries.LootPoolEntryContainer.Builder<?>> newBuilder)
    • findAndReplaceInComposite

      private boolean findAndReplaceInComposite(net.minecraft.world.level.storage.loot.predicates.CompositeLootItemCondition alternative, Consumer<net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder> poolBuilder)
    • checkMatchTool

      private boolean checkMatchTool(net.minecraft.world.level.storage.loot.predicates.MatchTool lootCondition, net.minecraft.world.item.Item expected)
    • replaceCondition

      private boolean replaceCondition(net.minecraft.world.level.storage.loot.predicates.LootItemCondition lootCondition, Consumer<net.minecraft.world.level.storage.loot.predicates.LootItemCondition.Builder> poolBuilder)
    • getPrivateValue

      private <T, C> T getPrivateValue(Class<C> clazz, C inst, String name)