classpublicPriority 3
ReferenceSlotMapper
com.hypixel.hytale.server.npc.asset.builder.ReferenceSlotMapper
extends SlotMapper
2
Methods
2
Public Methods
1
Fields
2
Constructors
Constructors
public
ReferenceSlotMapper(Supplier<T> slotSupplier)public
ReferenceSlotMapper(Supplier<T> slotSupplier, boolean trackNames)Methods
Public Methods (2)
public
T getReference(String name)public
List<T> getReferenceList()Fields
Private/Package Fields (1)
private
Supplier<T> slotSupplierInheritance
Parent
Current
Interface
Child
Use mouse wheel to zoom, drag to pan. Click nodes to navigate.
Source Code
package com.hypixel.hytale.server.npc.asset.builder;
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
import java.util.List;
import java.util.function.Supplier;
public class ReferenceSlotMapper<T> extends SlotMapper {
private final List<T> list = new ObjectArrayList();
private final Supplier<T> slotSupplier;
public ReferenceSlotMapper(Supplier<T> slotSupplier) {
this.slotSupplier = slotSupplier;
}
public ReferenceSlotMapper(Supplier<T> slotSupplier, boolean trackNames) {
super(trackNames);
this.slotSupplier = slotSupplier;
}
public T getReference(String name) {
int slot = this.getSlot(name);
if (slot < this.list.size()) {
return this.list.get(slot);
} else {
T object = this.slotSupplier.get();
this.list.add(object);
return object;
}
}
public List<T> getReferenceList() {
return this.list;
}
}