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 Summary
Modifier and TypeClassDescriptionprivate static class
private static class
Nested classes/interfaces inherited from interface net.minecraft.resource.ResourceReloader
ResourceReloader.Synchronizer
-
Field Summary
Modifier and TypeFieldDescriptionstatic final LootDataKey<LootTable>
private Map<LootDataKey<?>,
?> private static final Logger
private Multimap<LootDataType<?>,
Identifier> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic LootCondition
and
(LootCondition[] predicates) static LootFunction
and
(LootFunction[] modifiers) <T> T
getElement
(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 void
validate
(Map<LootDataType<?>, Map<Identifier, ?>> lootData) private static <T> void
validate
(LootTableReporter reporter, LootDataKey<T> key, Object value) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.minecraft.loot.LootDataLookup
getElement, getElementOptional, getElementOptional, getLootTable
Methods inherited from interface net.minecraft.resource.ResourceReloader
getName
-
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
-
LootManager
public LootManager()
-
-
Method Details
-
reload
public 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:
reload
in interfaceResourceReloader
- Parameters:
synchronizer
- the synchronizermanager
- the resource managerprepareProfiler
- the profiler for prepare stageapplyProfiler
- the profiler for apply stageprepareExecutor
- the executor for prepare stageapplyExecutor
- 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;
-
load
private 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:
getElement
in interfaceLootDataLookup
- 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;
-