|
3 | 3 | import it.unimi.dsi.fastutil.objects.AbstractReference2ObjectFunction; |
4 | 4 | import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap; |
5 | 5 | import net.caffeinemc.mods.lithium.common.ai.brain.memories.BrainExtended; |
| 6 | +import net.caffeinemc.mods.lithium.common.client.SharedFields; |
6 | 7 | import net.minecraft.world.entity.ai.Brain; |
7 | | -import net.minecraft.world.entity.ai.memory.ExpirableValue; |
8 | 8 | import net.minecraft.world.entity.ai.memory.MemoryModuleType; |
| 9 | +import net.minecraft.world.entity.ai.memory.MemorySlot; |
9 | 10 | import org.spongepowered.asm.mixin.Final; |
10 | 11 | import org.spongepowered.asm.mixin.Mixin; |
11 | 12 | import org.spongepowered.asm.mixin.Mutable; |
12 | 13 | import org.spongepowered.asm.mixin.Shadow; |
13 | 14 |
|
14 | 15 | import java.util.Map; |
15 | | -import java.util.Optional; |
16 | 16 |
|
17 | 17 | @Mixin(value = Brain.class) |
18 | 18 | public class BrainMixin implements BrainExtended { |
19 | 19 |
|
20 | 20 | @Mutable |
21 | 21 | @Shadow |
22 | 22 | @Final |
23 | | - private Map<MemoryModuleType<?>, Optional<? extends ExpirableValue<?>>> memories; |
| 23 | + private Map<MemoryModuleType<?>, MemorySlot<?>> memories; |
24 | 24 |
|
25 | 25 |
|
26 | 26 | @Override |
27 | 27 | public void lithium$pretendAllMemoryTypesRegistered() { |
28 | 28 | if (this.memories instanceof AbstractReference2ObjectFunction<?, ?> memoryCollection) { |
29 | 29 | //noinspection unchecked |
30 | | - ((AbstractReference2ObjectFunction<MemoryModuleType<?>, Optional<? extends ExpirableValue<?>>>) memoryCollection).defaultReturnValue(Optional.empty()); |
| 30 | + ((AbstractReference2ObjectFunction<MemoryModuleType<?>, MemorySlot<?>>) memoryCollection).defaultReturnValue(SharedFields.DUMMY_SLOT); |
31 | 31 | } else { |
32 | | - Reference2ObjectOpenHashMap<MemoryModuleType<?>, Optional<? extends ExpirableValue<?>>> memoryCollection = new Reference2ObjectOpenHashMap<>(this.memories); |
33 | | - memoryCollection.defaultReturnValue(Optional.empty()); |
| 32 | + Reference2ObjectOpenHashMap<MemoryModuleType<?>, MemorySlot<?>> memoryCollection = new Reference2ObjectOpenHashMap<>(this.memories); |
| 33 | + memoryCollection.defaultReturnValue(SharedFields.DUMMY_SLOT); |
34 | 34 | this.memories = memoryCollection; |
35 | 35 | } |
36 | 36 | } |
|
0 commit comments