package com.hypixel.hytale.component.spatial; import com.hypixel.hytale.component.Ref; import com.hypixel.hytale.component.Resource; import it.unimi.dsi.fastutil.objects.ObjectArrayList; import it.unimi.dsi.fastutil.objects.ObjectList; import javax.annotation.Nonnull; public class SpatialResource implements Resource { @Nonnull private static final ThreadLocal>> THREAD_LOCAL_REFERENCE_LIST = ThreadLocal.withInitial(ObjectArrayList::new); @Nonnull private final SpatialData> spatialData = new SpatialData<>(); @Nonnull private final SpatialStructure spatialStructure; @Nonnull public static ObjectList> getThreadLocalReferenceList() { ObjectList list = THREAD_LOCAL_REFERENCE_LIST.get(); list.clear(); return list; } public SpatialResource(@Nonnull SpatialStructure spatialStructure) { this.spatialStructure = spatialStructure; } @Nonnull public SpatialData> getSpatialData() { return this.spatialData; } @Nonnull public SpatialStructure getSpatialStructure() { return this.spatialStructure; } @Override public Resource clone() { throw new UnsupportedOperationException("Not supported yet."); } }