Class SellafitSolidificationTracker
java.lang.Object
com.hbm_m.util.explosions.trash_that_i_forgot_to_delete.SellafitSolidificationTracker
ОПТИМИЗИРОВАННЫЙ ТРЕКЕР ЗАТВЕРДЕВАНИЯ СЕЛЛАФИТА v2
Основные улучшения:
ConcurrentHashMap для потокобезопасности
Использование long вместо составного ключа
Сокращение создания объектов
Оптимизированное управление памятью
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcleanupOldEntries(net.minecraft.server.level.ServerLevel level) Очищает старые чанки, затвердевшие более 30 секунд назад ОПТИМИЗИРОВАНО: Периодическая очистка кэшаstatic voidclearAll()Очищает все данные (используется при перезагрузке/выгрузке уровня)static voidclearChunk(int chunkX, int chunkZ) Очищает запись о чанке (когда затвердевание завершено)Получает copy всех отслеживаемых чанков (для отладки)static int[]getChunkCoordinates(net.minecraft.core.BlockPos pos) Получает координаты чанка из позиции блокаstatic intgetChunkX(net.minecraft.core.BlockPos pos) Получает X координату чанка из позиции блока (оптимизирована)static intgetChunkZ(net.minecraft.core.BlockPos pos) Получает Z координату чанка из позиции блока (оптимизирована)static intgetRemainingTicks(net.minecraft.server.level.ServerLevel level, int chunkX, int chunkZ) Получает оставшееся время затвердевания в тикахstatic intПолучает количество зарегистрированных чанков ОПТИМИЗИРОВАНО: использует кэшированное значение вместо .size()static booleanisChunkRegistered(int chunkX, int chunkZ) Проверяет, зарегистрирован ли чанкstatic booleanisChunkSolidified(net.minecraft.server.level.ServerLevel level, int chunkX, int chunkZ) Проверяет, достаточно ли времени прошло для затвердевания селлафита в чанкеstatic voidregisterChunkStart(net.minecraft.server.level.ServerLevel level, int chunkX, int chunkZ) Регистрирует момент начала обработки чанка
-
Constructor Details
-
SellafitSolidificationTracker
public SellafitSolidificationTracker()
-
-
Method Details
-
registerChunkStart
public static void registerChunkStart(net.minecraft.server.level.ServerLevel level, int chunkX, int chunkZ) Регистрирует момент начала обработки чанка -
isChunkSolidified
public static boolean isChunkSolidified(net.minecraft.server.level.ServerLevel level, int chunkX, int chunkZ) Проверяет, достаточно ли времени прошло для затвердевания селлафита в чанке -
getRemainingTicks
public static int getRemainingTicks(net.minecraft.server.level.ServerLevel level, int chunkX, int chunkZ) Получает оставшееся время затвердевания в тиках -
clearChunk
public static void clearChunk(int chunkX, int chunkZ) Очищает запись о чанке (когда затвердевание завершено) -
getChunkCoordinates
public static int[] getChunkCoordinates(net.minecraft.core.BlockPos pos) Получает координаты чанка из позиции блока -
getChunkX
public static int getChunkX(net.minecraft.core.BlockPos pos) Получает X координату чанка из позиции блока (оптимизирована) -
getChunkZ
public static int getChunkZ(net.minecraft.core.BlockPos pos) Получает Z координату чанка из позиции блока (оптимизирована) -
isChunkRegistered
public static boolean isChunkRegistered(int chunkX, int chunkZ) Проверяет, зарегистрирован ли чанк -
getTrackedChunksCount
public static int getTrackedChunksCount()Получает количество зарегистрированных чанков ОПТИМИЗИРОВАНО: использует кэшированное значение вместо .size() -
clearAll
public static void clearAll()Очищает все данные (используется при перезагрузке/выгрузке уровня) -
getAllTrackedChunks
Получает copy всех отслеживаемых чанков (для отладки) -
cleanupOldEntries
public static void cleanupOldEntries(net.minecraft.server.level.ServerLevel level) Очищает старые чанки, затвердевшие более 30 секунд назад ОПТИМИЗИРОВАНО: Периодическая очистка кэша
-