Class BlockDataController
java.lang.Object
com.xzavier0722.mc.plugin.slimefun4.storage.controller.ADataController
com.xzavier0722.mc.plugin.slimefun4.storage.controller.BlockDataController
方块数据控制器
用于管理区块中的 Slimefun 方块数据
- Author:
- Xzavier0722, NoRainCity
-
Field Summary
Fields inherited from class com.xzavier0722.mc.plugin.slimefun4.storage.controller.ADataController
callbackExecutor, logger, readExecutor, serialWriteExecutor, writeExecutor -
Method Summary
Modifier and TypeMethodDescriptioncreateBlock(org.bukkit.Location l, String sfId) 在指定位置创建一个新的 Slimefun 方块数据createUniversalBlock(org.bukkit.Location l, String sfId) 在指定位置创建一个新的 Slimefun 通用方块数据createUniversalData(String sfId) 创建一个新的 Slimefun 通用数据
提供一个可供读写的 KV 存储 MapcreateUniversalData(UUID uuid, String sfId) 创建一个新的 Slimefun 通用数据 提供一个可供读写的 KV 存储 MapgetAllLoadedChunkData(org.bukkit.World world) getBlockData(org.bukkit.Location l) Get slimefun block data at specific locationgetBlockDataAsync(org.bukkit.Location l) voidgetBlockDataAsync(org.bukkit.Location l, IAsyncReadCallback<SlimefunBlockData> callback) Get slimefun block data at specific location asynchronousgetBlockDataFromCache(org.bukkit.Location l) Get slimefun block data at specific location from cachegetChunkData(org.bukkit.Chunk chunk) getChunkDataAsync(org.bukkit.Chunk chunk) voidgetChunkDataAsync(org.bukkit.Chunk chunk, IAsyncReadCallback<SlimefunChunkData> callback) getChunkDataFromCache(org.bukkit.Chunk chunk) getChunkDataFromCache(org.bukkit.Location chunk) getUniversalBlockData(UUID uuid) Get slimefun universal datavoidgetUniversalBlockData(UUID uuid, IAsyncReadCallback<SlimefunUniversalBlockData> callback) Get slimefun universal data asynchronousGet slimefun universal data from cachegetUniversalBlockDataFromCache(org.bukkit.Location l) Get slimefun universal data from cache by locationgetUniversalData(UUID uuid) 从数据库中获取SlimefunUniversalData从缓存中获取SlimefunUniversalDatavoidinit(IDataSourceAdapter<?> dataAdapter, int maxReadThread, int maxWriteThread) 初始化数据控制器voidinitDelayedSaving(org.bukkit.plugin.Plugin p, int delayedSecond, int forceSavePeriod) 初始化延时加载任务booleanvoidloadBlockData(SlimefunBlockData blockData) voidloadBlockDataAsync(SlimefunBlockData blockData, IAsyncReadCallback<SlimefunBlockData> callback) voidloadBlockDataAsync(List<SlimefunBlockData> blockDataList, IAsyncReadCallback<List<SlimefunBlockData>> callback) voidloadChunk(org.bukkit.Chunk chunk, boolean isNewChunk) voidloadChunk(org.bukkit.Chunk chunk, boolean isNewChunk, boolean forceReadData) voidloadDataAsync(ASlimefunDataContainer container, IAsyncReadCallback<ASlimefunDataContainer> callback) voidloadUniversalData(SlimefunUniversalData uniData) voidloadUniversalDataAsync(SlimefunUniversalData uniData, IAsyncReadCallback<SlimefunUniversalData> callback) voidvoidloadWorld(org.bukkit.World world) voidmove(ASlimefunDataContainer data, org.bukkit.Location target) Move block data to specific locationvoidremoveAllDataInChunk(org.bukkit.Chunk chunk) voidremoveAllDataInChunkAsync(org.bukkit.Chunk chunk, Runnable onFinishedCallback) voidremoveAllDataInWorld(org.bukkit.World world) voidremoveAllDataInWorldAsync(org.bukkit.World world, Runnable onFinishedCallback) voidremoveBlock(org.bukkit.Location l) 移除指定位置上的 Slimefun 数据voidremoveBlockData(org.bukkit.Location l) 移除指定位置上的 Slimefun 方块数据voidremoveFromAllChunkInWorld(org.bukkit.World world, String key) voidremoveFromAllChunkInWorldAsync(org.bukkit.World world, String key, Runnable onFinishedCallback) voidremoveUniversalBlockData(UUID uuid) 移除指定 UUID 对应的 Slimefun 通用方块数据voidremoveUniversalBlockData(org.bukkit.Location l) 移除指定位置对应的可能存在的 Slimefun 通用方块数据voidvoidvoidsaveBlockInventory(SlimefunBlockData blockData) voidsaveBlockInventorySlot(SlimefunBlockData blockData, int slot) voidsaveUniversalInventory(SlimefunUniversalData universalData) voidsetBlockDataLocation(SlimefunBlockData blockData, org.bukkit.Location target) Deprecated, for removal: This API element is subject to removal in a future version.voidsetDelayedSavingEnable(boolean isEnable) voidshutdown()正常关闭ADataControllerMethods inherited from class com.xzavier0722.mc.plugin.slimefun4.storage.controller.ADataController
abortScopeTask, checkDestroy, deleteData, getData, getData, getDataType, invokeCallback, scheduleDeleteTask, scheduleReadTask, scheduleWriteTask, scheduleWriteTask, scheduleWriteTask, setData
-
Method Details
-
init
初始化数据控制器- Overrides:
initin classADataController- Parameters:
dataAdapter- 使用的IDataSourceAdaptermaxReadThread- 最大数据库读线程数maxWriteThread- 最大数据库写线程数
-
initDelayedSaving
public void initDelayedSaving(org.bukkit.plugin.Plugin p, int delayedSecond, int forceSavePeriod) 初始化延时加载任务- Parameters:
p- 插件实例delayedSecond- 首次执行延时forceSavePeriod- 强制保存周期
-
isDelayedSavingEnabled
public boolean isDelayedSavingEnabled() -
setDelayedSavingEnable
public void setDelayedSavingEnable(boolean isEnable) -
createBlock
在指定位置创建一个新的 Slimefun 方块数据- Parameters:
l- Slimefun 方块位置LocationsfId- Slimefun 物品 IDSlimefunItem.getId()- Returns:
- 方块数据,
SlimefunBlockData
-
createUniversalData
创建一个新的 Slimefun 通用数据
提供一个可供读写的 KV 存储 Map- Parameters:
sfId- Slimefun 物品 IDSlimefunItem.getId()- Returns:
- 通用数据,
SlimefunUniversalData
-
createUniversalData
创建一个新的 Slimefun 通用数据 提供一个可供读写的 KV 存储 Map- Parameters:
uuid- 通用数据的识别 UUIDsfId- Slimefun 物品 IDSlimefunItem.getId()- Returns:
- 通用数据,
SlimefunUniversalData
-
createUniversalBlock
@Nonnull @ParametersAreNonnullByDefault public SlimefunUniversalBlockData createUniversalBlock(org.bukkit.Location l, String sfId) 在指定位置创建一个新的 Slimefun 通用方块数据- Parameters:
l- Slimefun 方块位置LocationsfId- Slimefun 物品 IDSlimefunItem.getId()- Returns:
- 通用方块数据,
SlimefunUniversalBlockData
-
removeBlock
public void removeBlock(org.bukkit.Location l) 移除指定位置上的 Slimefun 数据- Parameters:
l- 位置Location
-
removeBlockData
public void removeBlockData(org.bukkit.Location l) 移除指定位置上的 Slimefun 方块数据- Parameters:
l- 位置Location
-
removeUniversalBlockData
public void removeUniversalBlockData(org.bukkit.Location l) 移除指定位置对应的可能存在的 Slimefun 通用方块数据- Parameters:
l-Location位置
-
removeUniversalBlockData
移除指定 UUID 对应的 Slimefun 通用方块数据- Parameters:
uuid- 通用方块数据识别符
-
getBlockData
@Nullable @ParametersAreNonnullByDefault public SlimefunBlockData getBlockData(org.bukkit.Location l) Get slimefun block data at specific location- Parameters:
l- slimefun block locationLocation- Returns:
SlimefunBlockData
-
getBlockDataAsync
-
getBlockDataAsync
public void getBlockDataAsync(org.bukkit.Location l, IAsyncReadCallback<SlimefunBlockData> callback) Get slimefun block data at specific location asynchronous- Parameters:
l- slimefun block locationLocationcallback- operation when block data fetchedIAsyncReadCallback
-
getBlockDataFromCache
Get slimefun block data at specific location from cache- Parameters:
l- slimefun block locationLocation- Returns:
SlimefunBlockData
-
getUniversalData
从数据库中获取SlimefunUniversalData -
getUniversalBlockData
Get slimefun universal data- Parameters:
uuid- universal data uuidUUID
-
getUniversalBlockData
public void getUniversalBlockData(@Nonnull UUID uuid, IAsyncReadCallback<SlimefunUniversalBlockData> callback) Get slimefun universal data asynchronous- Parameters:
uuid- universal data uuidUUIDcallback- operation when block data fetchedIAsyncReadCallback
-
getUniversalDataFromCache
从缓存中获取SlimefunUniversalData- Parameters:
uuid- 通用数据 UUID- Returns:
SlimefunUniversalData
-
getUniversalBlockDataFromCache
Get slimefun universal data from cache- Parameters:
uuid- universal data uuidUUID
-
getUniversalBlockDataFromCache
public Optional<SlimefunUniversalBlockData> getUniversalBlockDataFromCache(@Nonnull org.bukkit.Location l) Get slimefun universal data from cache by location- Parameters:
l- Slimefun block locationLocation
-
setBlockDataLocation
@Deprecated(forRemoval=true) public void setBlockDataLocation(SlimefunBlockData blockData, org.bukkit.Location target) Deprecated, for removal: This API element is subject to removal in a future version.usemove(SlimefunBlockData, Location)instead -
move
Move block data to specific locationSimilar to original BlockStorage#move.
- Parameters:
data- the block dataSlimefunBlockDataneed to movetarget- move targetLocation
-
loadChunk
public void loadChunk(org.bukkit.Chunk chunk, boolean isNewChunk) -
loadChunk
public void loadChunk(org.bukkit.Chunk chunk, boolean isNewChunk, boolean forceReadData) -
loadWorld
public void loadWorld(org.bukkit.World world) -
loadUniversalRecord
public void loadUniversalRecord() -
loadBlockData
-
loadDataAsync
public void loadDataAsync(ASlimefunDataContainer container, IAsyncReadCallback<ASlimefunDataContainer> callback) -
loadBlockDataAsync
public void loadBlockDataAsync(SlimefunBlockData blockData, IAsyncReadCallback<SlimefunBlockData> callback) -
loadBlockDataAsync
public void loadBlockDataAsync(List<SlimefunBlockData> blockDataList, IAsyncReadCallback<List<SlimefunBlockData>> callback) -
loadUniversalData
-
loadUniversalDataAsync
@ParametersAreNonnullByDefault public void loadUniversalDataAsync(SlimefunUniversalData uniData, IAsyncReadCallback<SlimefunUniversalData> callback) -
getChunkData
-
getChunkDataAsync
-
getChunkDataAsync
public void getChunkDataAsync(org.bukkit.Chunk chunk, IAsyncReadCallback<SlimefunChunkData> callback) -
saveAllBlockInventories
public void saveAllBlockInventories() -
saveAllUniversalInventories
public void saveAllUniversalInventories() -
saveBlockInventory
-
saveBlockInventorySlot
-
getAllLoadedChunkData
-
removeAllDataInChunk
public void removeAllDataInChunk(org.bukkit.Chunk chunk) -
removeAllDataInChunkAsync
-
removeAllDataInWorld
public void removeAllDataInWorld(org.bukkit.World world) -
removeAllDataInWorldAsync
-
saveUniversalInventory
-
getAllLoadedChunkData
-
removeFromAllChunkInWorld
-
removeFromAllChunkInWorldAsync
-
shutdown
public void shutdown()Description copied from class:ADataController正常关闭ADataController- Overrides:
shutdownin classADataController
-
getChunkDataFromCache
-
getChunkDataFromCache
-
move(SlimefunBlockData, Location)instead