mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-13 16:54:22 +00:00
Optimize Entity capabilities a bit by reordering conditions (#9886)
This commit is contained in:
1 parent
7f2b85d2ff
commit
73e02c6add
13 files changed
+33
-36
No files matched your search
@@ -7,12 +7,11 @@ package net.minecraftforge.common.capabilities;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
|
||||
import net.minecraft.MethodsReturnNonnullByDefault;
|
||||
import net.minecraft.nbt.Tag;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
@@ -36,9 +35,9 @@ import org.jetbrains.annotations.Nullable;
|
||||
@MethodsReturnNonnullByDefault
|
||||
public final class CapabilityDispatcher implements INBTSerializable<CompoundTag>, ICapabilityProvider
|
||||
{
|
||||
private ICapabilityProvider[] caps;
|
||||
private INBTSerializable<Tag>[] writers;
|
||||
private String[] names;
|
||||
private final ICapabilityProvider[] caps;
|
||||
private final INBTSerializable<Tag>[] writers;
|
||||
private final String[] names;
|
||||
private final List<Runnable> listeners;
|
||||
|
||||
public CapabilityDispatcher(Map<ResourceLocation, ICapabilityProvider> list, List<Runnable> listeners)
|
||||
@@ -49,9 +48,9 @@ public final class CapabilityDispatcher implements INBTSerializable<CompoundTag>
|
||||
@SuppressWarnings("unchecked")
|
||||
public CapabilityDispatcher(Map<ResourceLocation, ICapabilityProvider> list, List<Runnable> listeners, @Nullable ICapabilityProvider parent)
|
||||
{
|
||||
List<ICapabilityProvider> lstCaps = Lists.newArrayList();
|
||||
List<INBTSerializable<Tag>> lstWriters = Lists.newArrayList();
|
||||
List<String> lstNames = Lists.newArrayList();
|
||||
List<ICapabilityProvider> lstCaps = new ArrayList<>();
|
||||
List<INBTSerializable<Tag>> lstWriters = new ArrayList<>();
|
||||
List<String> lstNames = new ArrayList<>();
|
||||
this.listeners = listeners;
|
||||
|
||||
if (parent != null) // Parents go first!
|
||||
|
||||
@@ -47,7 +47,7 @@ public class LazyOptional<T> {
|
||||
// non-null and contains non-null value -> resolved
|
||||
// non-null and contains null -> resolved, but supplier returned null (contract violation)
|
||||
private Mutable<T> resolved;
|
||||
private Set<NonNullConsumer<LazyOptional<T>>> listeners = new HashSet<>();
|
||||
private final Set<NonNullConsumer<LazyOptional<T>>> listeners = new HashSet<>();
|
||||
private boolean isValid = true;
|
||||
|
||||
private static final @NotNull LazyOptional<Void> EMPTY = new LazyOptional<>(null);
|
||||
|
||||
@@ -532,7 +532,7 @@ public class ForgeEventFactory {
|
||||
@Nullable
|
||||
private static CapabilityDispatcher gatherCapabilities(AttachCapabilitiesEvent<?> event, @Nullable ICapabilityProvider parent) {
|
||||
post(event);
|
||||
return event.getCapabilities().size() > 0 || parent != null ? new CapabilityDispatcher(event.getCapabilities(), event.getListeners(), parent) : null;
|
||||
return !event.getCapabilities().isEmpty() || parent != null ? new CapabilityDispatcher(event.getCapabilities(), event.getListeners(), parent) : null;
|
||||
}
|
||||
|
||||
public static boolean fireSleepingLocationCheck(LivingEntity player, BlockPos sleepingLocation) {
|
||||
|
||||
Reference in new issue
Block a user