Package cn.nukkit.entity.ai.memory
Class MemoryStorage
java.lang.Object
cn.nukkit.entity.ai.memory.MemoryStorage
- All Implemented Interfaces:
IMemoryStorage
@PowerNukkitXOnly
@Since("1.6.0.0-PNX")
public class MemoryStorage
extends Object
implements IMemoryStorage
记忆存储器的标准实现,每种记忆类型只能存一个记忆。
The standard implementation of IMemoryStorage
, where only one memory can be stored for each memory class type.
-
Field Summary
Modifier and TypeFieldDescriptionprotected ConcurrentHashMap<Class<? extends IMemory<?>>,
IMemory<?>> -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescription<R,
T extends IMemory<R>>
boolean检查数据 检查记忆中的数据是否与data相同<T extends IMemory<?>>
void删除指定类型记忆get
(R memoryClazz) 从记忆存储器中得到记忆,注意如果memoryMap
中不存在该记忆,那么会通过反射创建一个.<R,
T extends IMemory<R>>
R获取指定记忆类型的记忆数据ConcurrentHashMap<Class<? extends IMemory<?>>,
IMemory<?>> <T extends IMemory<?>>
boolean<T extends IMemory<?>>
booleanvoid
写入记忆到memoryMap
.<R,
T extends IMemory<R>>
void设置指定记忆类型的记忆数据
-
Field Details
-
memoryMap
-
-
Constructor Details
-
MemoryStorage
public MemoryStorage()
-
-
Method Details
-
put
- Specified by:
put
in interfaceIMemoryStorage
- Parameters:
memory
- 记忆
-
clear
Description copied from interface:IMemoryStorage
删除指定类型记忆- Specified by:
clear
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆类型
-
get
从记忆存储器中得到记忆,注意如果memoryMap
中不存在该记忆,那么会通过反射创建一个.Get the memory from the memory store, note that if the memory does not exist in
memoryMap
, then a reflection will create a instance.- Specified by:
get
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆Class对象
memory Class objects- Returns:
IMemoryStorage
-
isEmpty
- Specified by:
isEmpty
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆类型- Returns:
- boolean 该记忆类型对应的数据是否为null
-
notEmpty
- Specified by:
notEmpty
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆类型- Returns:
- boolean 该记忆类型对应的数据非null
-
checkData
Description copied from interface:IMemoryStorage
检查数据 检查记忆中的数据是否与data相同Check if the data in memoryClazz is the same as data
- Specified by:
checkData
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆类型data
- 数据
-
setData
Description copied from interface:IMemoryStorage
设置指定记忆类型的记忆数据- Specified by:
setData
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆类型data
- 数据
-
getData
Description copied from interface:IMemoryStorage
获取指定记忆类型的记忆数据- Specified by:
getData
in interfaceIMemoryStorage
- Parameters:
memoryClazz
- 记忆类型
-
getMemoryMap
-