Use fastutil for passengers

This commit is contained in:
FatSaw
2022-07-31 06:54:09 +03:00
parent 0d9f04a748
commit 947b22892c

View File

@@ -45,6 +45,10 @@ import org.bukkit.event.entity.EntityPortalEvent;
import org.bukkit.plugin.PluginManager;
// CraftBukkit end
// Dionysus start
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
// Dionysus end
/**
* Akarin Changes Note
* 1) Random -> LightRandom (performance)
@@ -91,7 +95,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper
private static int entityCount = 1; // Paper - MC-111480 - ID 0 is treated as special for DataWatchers, start 1
private int id;
public boolean i; public boolean blocksEntitySpawning() { return i; } // Paper - OBFHELPER
public final List<Entity> passengers;
public final ObjectArrayList<Entity> passengers; // Dionysus
protected int j;
private Entity au;public void setVehicle(Entity entity) { this.au = entity; } // Paper // OBFHELPER
public boolean attachedToPlayer;
@@ -205,7 +209,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper
public Entity(World world) {
this.id = Entity.entityCount++;
this.passengers = Lists.newArrayList();
this.passengers = new ObjectArrayList<>(); // Dionysus
this.boundingBox = Entity.c;
this.width = 0.6F;
this.length = 1.8F;
@@ -2877,7 +2881,7 @@ public abstract class Entity implements ICommandListener, KeyedObject { // Paper
}
public List<Entity> bF() {
return (List) (this.passengers.isEmpty() ? Collections.emptyList() : Lists.newArrayList(this.passengers));
return (List) (this.passengers.isEmpty() ? Collections.emptyList() : new ObjectArrayList<>(this.passengers)); // Dionysus
}
public boolean w(Entity entity) {