Add missing getEntitySlices method (#165)

This commit is contained in:
IzzelAliz 2021-02-16 13:50:10 +08:00
parent c477a31e48
commit 3964235b8f

View File

@ -4,7 +4,9 @@ import io.izzel.arclight.common.bridge.world.WorldBridge;
import io.izzel.arclight.common.bridge.world.chunk.ChunkBridge;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.entity.Entity;
import net.minecraft.fluid.Fluid;
import net.minecraft.util.ClassInheritanceMultiMap;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.ChunkPos;
import net.minecraft.util.palette.UpgradeData;
@ -30,6 +32,8 @@ import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import javax.annotation.Nullable;
import java.util.Arrays;
import java.util.List;
import java.util.function.Consumer;
@Mixin(Chunk.class)
@ -42,6 +46,7 @@ public abstract class ChunkMixin implements ChunkBridge {
@Shadow private volatile boolean dirty;
@Shadow private boolean hasEntities;
@Shadow private long lastSaveTime;
@Shadow @Final public ClassInheritanceMultiMap<Entity>[] entityLists;
// @formatter:on
public org.bukkit.Chunk bukkitChunk;
@ -59,6 +64,11 @@ public abstract class ChunkMixin implements ChunkBridge {
bridge$setBukkitChunk(new CraftChunk((Chunk) (Object) this));
}
@SuppressWarnings("unchecked")
public List<Entity>[] getEntitySlices() {
return Arrays.stream(this.entityLists).map(ClassInheritanceMultiMap::func_241289_a_).toArray(List[]::new);
}
public org.bukkit.Chunk getBukkitChunk() {
return bukkitChunk;
}