@@ -2,6 +2,7 @@ package ink.ptms.adyeshach.impl
2
2
3
3
import ink.ptms.adyeshach.core.Adyeshach
4
4
import ink.ptms.adyeshach.core.AdyeshachEntityTypeRegistry
5
+ import ink.ptms.adyeshach.core.AdyeshachParallelTask
5
6
import ink.ptms.adyeshach.core.entity.EntityBase
6
7
import ink.ptms.adyeshach.core.entity.EntityInstance
7
8
import ink.ptms.adyeshach.core.entity.EntitySize
@@ -18,11 +19,13 @@ import taboolib.common.LifeCycle
18
19
import taboolib.common.platform.Awake
19
20
import taboolib.common.platform.PlatformFactory
20
21
import taboolib.common.platform.function.info
21
- import taboolib.common.platform.function.registerLifeCycleTask
22
22
import taboolib.common.platform.function.releaseResourceFile
23
+ import taboolib.common.util.execution
24
+ import taboolib.common.util.t
23
25
import taboolib.common.util.unsafeLazy
24
26
import taboolib.library.reflex.Reflex.Companion.invokeConstructor
25
27
import taboolib.module.nms.AsmClassLoader
28
+ import taboolib.platform.bukkit.parallel
26
29
27
30
/* *
28
31
* Adyeshach
@@ -56,17 +59,18 @@ class DefaultAdyeshachEntityTypeRegistry : AdyeshachEntityTypeRegistry {
56
59
57
60
/* * 所有实体对象的原件,用于克隆实体 */
58
61
val originEntityBaseMap = HashMap <EntityTypes , EntityBase >()
59
- get() {
60
- if (field.isEmpty()) {
61
- val time = System .currentTimeMillis()
62
- field.putAll(generateEntityBase())
63
- info(" Proxy classes has been generated (${System .currentTimeMillis() - time} ms)" )
64
- }
65
- return field
66
- }
67
62
68
63
init {
69
- registerLifeCycleTask(LifeCycle .ENABLE , 999 ) { originEntityBaseMap }
64
+ // 生成实体类
65
+ parallel(AdyeshachParallelTask .GENERATE_ENTITY_CLASS , dependOn = AdyeshachParallelTask .DESCRIPTION_INIT ) {
66
+ val (_, cost) = execution { originEntityBaseMap + = generateEntityBase() }
67
+ info(
68
+ """
69
+ 代理类已生成,用时 $cost 毫秒。
70
+ Proxy classes has been generated, cost $cost ms.
71
+ """ .t()
72
+ )
73
+ }
70
74
// 注册生成回调
71
75
prepareGenerate(object : AdyeshachEntityTypeRegistry .GenerateCallback {
72
76
0 commit comments