Package net.minecraft.loot
Class LootManager
java.lang.Object
net.minecraft.loot.LootManager
- All Implemented Interfaces:
- LootDataLookup,- ResourceReloader
- Mappings:
- Namespace - Name - official - dzn- intermediary - net/minecraft/class_60- named - net/minecraft/loot/LootManager
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionprivate static classprivate static classNested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloaderResourceReloader.Synchronizer
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final LootDataKey<LootTable>private Map<LootDataKey<?>,?> private static final Loggerprivate Multimap<LootDataType<?>,Identifier> 
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescriptionstatic LootConditionand(LootCondition[] predicates) static LootFunctionand(LootFunction[] modifiers) <T> TgetElement(LootDataKey<T> key) getIds(LootDataType<?> type) private static <T> CompletableFuture<?>load(LootDataType<T> type, ResourceManager resourceManager, Executor executor, Map<LootDataType<?>, Map<Identifier, ?>> results) final CompletableFuture<Void>reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor) Performs a reload.private voidvalidate(Map<LootDataType<?>, Map<Identifier, ?>> lootData) private static <T> voidvalidate(LootTableReporter reporter, LootDataKey<T> key, Object value) Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.minecraft.loot.LootDataLookupgetElement, getElementOptional, getElementOptional, getLootTableMethods inherited from interface net.minecraft.resource.ResourceReloadergetName
- 
Field Details- 
LOGGER- Mappings:
- Namespace - Name - Mixin selector - official - b- Ldzn;b:Lorg/slf4j/Logger;- intermediary - field_975- Lnet/minecraft/class_60;field_975:Lorg/slf4j/Logger;- named - LOGGER- Lnet/minecraft/loot/LootManager;LOGGER:Lorg/slf4j/Logger;
 
- 
EMPTY_LOOT_TABLE- Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a:Ldzm;- intermediary - field_44491- Lnet/minecraft/class_60;field_44491:Lnet/minecraft/class_8488;- named - EMPTY_LOOT_TABLE- Lnet/minecraft/loot/LootManager;EMPTY_LOOT_TABLE:Lnet/minecraft/loot/LootDataKey;
 
- 
keyToValue- Mappings:
- Namespace - Name - Mixin selector - official - c- Ldzn;c:Ljava/util/Map;- intermediary - field_44492- Lnet/minecraft/class_60;field_44492:Ljava/util/Map;- named - keyToValue- Lnet/minecraft/loot/LootManager;keyToValue:Ljava/util/Map;
 
- 
typeToIds- Mappings:
- Namespace - Name - Mixin selector - official - d- Ldzn;d:Lcom/google/common/collect/Multimap;- intermediary - field_44493- Lnet/minecraft/class_60;field_44493:Lcom/google/common/collect/Multimap;- named - typeToIds- Lnet/minecraft/loot/LootManager;typeToIds:Lcom/google/common/collect/Multimap;
 
 
- 
- 
Constructor Details- 
LootManagerpublic LootManager()
 
- 
- 
Method Details- 
reloadpublic final CompletableFuture<Void> reload(ResourceReloader.Synchronizer synchronizer, ResourceManager manager, Profiler prepareProfiler, Profiler applyProfiler, Executor prepareExecutor, Executor applyExecutor) Performs a reload. Returns a future that is completed when the reload is completed.In a reload, there is a prepare stage and an apply stage. For the prepare stage, you should create completable futures with CompletableFuture.supplyAsync(..., prepareExecutor) to ensure the prepare actions are done with the prepare executor. Then, you should have a completable future for all the prepared actions, and call combinedPrepare.thenCompose(synchronizer::waitFor) to notify the synchronizer. Finally, you should run CompletableFuture.thenAcceptAsync(..., applyExecutor) for apply actions. In the end, returns the result ofthenAcceptAsync.- Specified by:
- reloadin interface- ResourceReloader
- Parameters:
- synchronizer- the synchronizer
- manager- the resource manager
- prepareProfiler- the profiler for prepare stage
- applyProfiler- the profiler for apply stage
- prepareExecutor- the executor for prepare stage
- applyExecutor- the executor for apply stage
- Returns:
- a future for the reload
- See Also:
- Mappings:
- Namespace - Name - Mixin selector - official - a- Lakr;a(Lakr$a;Lakx;Lban;Lban;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;- intermediary - method_25931- Lnet/minecraft/class_3302;method_25931(Lnet/minecraft/class_3302$class_4045;Lnet/minecraft/class_3300;Lnet/minecraft/class_3695;Lnet/minecraft/class_3695;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;- named - reload- Lnet/minecraft/resource/ResourceReloader;reload(Lnet/minecraft/resource/ResourceReloader$Synchronizer;Lnet/minecraft/resource/ResourceManager;Lnet/minecraft/util/profiler/Profiler;Lnet/minecraft/util/profiler/Profiler;Ljava/util/concurrent/Executor;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
 
- 
loadprivate static <T> CompletableFuture<?> load(LootDataType<T> type, ResourceManager resourceManager, Executor executor, Map<LootDataType<?>, Map<Identifier, ?>> results) - Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a(Ldzp;Lakx;Ljava/util/concurrent/Executor;Ljava/util/Map;)Ljava/util/concurrent/CompletableFuture;- intermediary - method_51194- Lnet/minecraft/class_60;method_51194(Lnet/minecraft/class_8490;Lnet/minecraft/class_3300;Ljava/util/concurrent/Executor;Ljava/util/Map;)Ljava/util/concurrent/CompletableFuture;- named - load- Lnet/minecraft/loot/LootManager;load(Lnet/minecraft/loot/LootDataType;Lnet/minecraft/resource/ResourceManager;Ljava/util/concurrent/Executor;Ljava/util/Map;)Ljava/util/concurrent/CompletableFuture;
 
- 
validate- Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a(Ljava/util/Map;)V- intermediary - method_20712- Lnet/minecraft/class_60;method_20712(Ljava/util/Map;)V- named - validate- Lnet/minecraft/loot/LootManager;validate(Ljava/util/Map;)V
 
- 
validate- Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a(Ldzv;Ldzm;Ljava/lang/Object;)V- intermediary - method_51196- Lnet/minecraft/class_60;method_51196(Lnet/minecraft/class_58;Lnet/minecraft/class_8488;Ljava/lang/Object;)V- named - validate- Lnet/minecraft/loot/LootManager;validate(Lnet/minecraft/loot/LootTableReporter;Lnet/minecraft/loot/LootDataKey;Ljava/lang/Object;)V
 
- 
getElement- Specified by:
- getElementin interface- LootDataLookup
- Mappings:
- Namespace - Name - Mixin selector - official - getElement- Ldzo;getElement(Ldzm;)Ljava/lang/Object;- intermediary - getElement- Lnet/minecraft/class_8489;getElement(Lnet/minecraft/class_8488;)Ljava/lang/Object;- named - getElement- Lnet/minecraft/loot/LootDataLookup;getElement(Lnet/minecraft/loot/LootDataKey;)Ljava/lang/Object;
 
- 
getIds- Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a(Ldzp;)Ljava/util/Collection;- intermediary - method_51193- Lnet/minecraft/class_60;method_51193(Lnet/minecraft/class_8490;)Ljava/util/Collection;- named - getIds- Lnet/minecraft/loot/LootManager;getIds(Lnet/minecraft/loot/LootDataType;)Ljava/util/Collection;
 
- 
and- Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a([Leck;)Leck;- intermediary - method_51201- Lnet/minecraft/class_60;method_51201([Lnet/minecraft/class_5341;)Lnet/minecraft/class_5341;- named - and- Lnet/minecraft/loot/LootManager;and([Lnet/minecraft/loot/condition/LootCondition;)Lnet/minecraft/loot/condition/LootCondition;
 
- 
and- Mappings:
- Namespace - Name - Mixin selector - official - a- Ldzn;a([Leaz;)Leaz;- intermediary - method_51200- Lnet/minecraft/class_60;method_51200([Lnet/minecraft/class_117;)Lnet/minecraft/class_117;- named - and- Lnet/minecraft/loot/LootManager;and([Lnet/minecraft/loot/function/LootFunction;)Lnet/minecraft/loot/function/LootFunction;
 
 
-