Skip to content

Commit dbf4dfd

Browse files
committed
现在变量生成是有默认值的
1 parent 25c3aba commit dbf4dfd

27 files changed

+258
-36
lines changed

src/main/kotlin/top/mcfpp/lang/DataTemplateObject.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,10 @@ class DataTemplateObjectConcrete: DataTemplateObject, MCFPPValue<CompoundTag>{
241241

242242
override var value: CompoundTag
243243

244+
override fun defaultValue(): CompoundTag {
245+
return templateType.getDefaultValue()
246+
}
247+
244248
/**
245249
* 创建一个固定的DataTemplate
246250
*

src/main/kotlin/top/mcfpp/lang/EntityVar.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,11 +85,16 @@ class EntityVarConcrete: EntityVar, MCFPPValue<IntArrayTag>{
8585

8686
override var value: IntArrayTag
8787

88-
constructor(curr: FieldContainer, value: IntArrayTag) : super(curr){
88+
override fun defaultValue(): IntArrayTag {
89+
return IntArrayTag(intArrayOf(0,0,0,0))
90+
}
91+
92+
constructor(curr: FieldContainer, value: IntArrayTag, identifier: String = UUID.randomUUID().toString()) : super(curr, identifier){
8993
this.value = value
9094
}
9195

92-
constructor(value: IntArrayTag) : super(){
96+
97+
constructor(value: IntArrayTag, identifier: String = UUID.randomUUID().toString()) : super(identifier){
9398
this.value = value
9499
}
95100

src/main/kotlin/top/mcfpp/lang/EnumVar.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,10 @@ class EnumVarConcrete : EnumVar, MCFPPValue<Int>{
124124

125125
override var value: Int
126126

127+
override fun defaultValue(): Int {
128+
return 0
129+
}
130+
127131
/**
128132
* 创建一个固定的int
129133
*

src/main/kotlin/top/mcfpp/lang/JavaVar.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ class JavaVar : Var<JavaVar>, MCFPPValue<Any?>{
3636

3737
override var type: MCFPPType = MCFPPBaseType.JavaVar
3838

39+
override fun defaultValue(): Any? {
40+
return null
41+
}
42+
3943
/**
4044
* 创建一个固定的JavaVar
4145
*

src/main/kotlin/top/mcfpp/lang/JsonText.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import top.mcfpp.lang.type.MCFPPBaseType
77
import top.mcfpp.lang.type.MCFPPType
88
import top.mcfpp.lang.value.MCFPPValue
99
import top.mcfpp.lib.ChatComponent
10+
import top.mcfpp.lib.PlainChatComponent
1011
import top.mcfpp.model.CompoundData
1112
import top.mcfpp.model.FieldContainer
1213
import top.mcfpp.model.Member
@@ -116,6 +117,10 @@ class JsonTextConcrete : MCFPPValue<ChatComponent>, JsonText {
116117

117118
override var value: ChatComponent
118119

120+
override fun defaultValue(): ChatComponent {
121+
return PlainChatComponent("")
122+
}
123+
119124
/**
120125
* 创建一个固定的int
121126
*

src/main/kotlin/top/mcfpp/lang/MCAny.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,10 @@ class MCAnyConcrete : MCAny, MCFPPValue<Var<*>>{
200200

201201
override var value: Var<*>
202202

203+
override fun defaultValue(): Var<*> {
204+
return MCIntConcrete(0, "any_default")
205+
}
206+
203207
/**
204208
* 创建一个固定的int
205209
*

src/main/kotlin/top/mcfpp/lang/MCBool.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,10 @@ class MCBoolConcrete : MCBool, MCFPPValue<Boolean>{
240240

241241
override var value: Boolean
242242

243+
override fun defaultValue(): Boolean {
244+
return false
245+
}
246+
243247
/**
244248
* 创建一个固定的bool
245249
*

src/main/kotlin/top/mcfpp/lang/MCFPPTypeVar.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ open class MCFPPTypeVar : Var<MCFPPTypeVar>, MCFPPValue<MCFPPType> {
1414

1515
override var type: MCFPPType = MCFPPBaseType.Type
1616

17+
override fun defaultValue(): MCFPPType {
18+
return MCFPPBaseType.Any
19+
}
20+
1721
constructor(type: MCFPPType = MCFPPBaseType.Any, identifier: String = UUID.randomUUID().toString()) : super(identifier) {
1822
this.value = type
1923
}

src/main/kotlin/top/mcfpp/lang/MCFloat.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,10 @@ class MCFloatConcrete : MCFloat, MCFPPValue<Float>{
451451
setJavaValue(value)
452452
}
453453

454+
override fun defaultValue(): Float {
455+
return 0.0f
456+
}
457+
454458
/**
455459
* 创建一个固定的float
456460
*

src/main/kotlin/top/mcfpp/lang/MCInt.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,10 @@ class MCIntConcrete : MCInt, MCFPPValue<Int>{
424424

425425
override var value: Int
426426

427+
override fun defaultValue(): Int {
428+
return 0
429+
}
430+
427431
/**
428432
* 创建一个固定的int
429433
*

0 commit comments

Comments
 (0)