Skip to content

Commit c99fc0a

Browse files
authored
Merge pull request #39 from way-zer/3.0
fix NPE when init in server.
2 parents ae587e8 + ef8172b commit c99fc0a

File tree

3 files changed

+13
-10
lines changed

3 files changed

+13
-10
lines changed

src/main/kotlin/cf/wayzer/contentsTweaker/CTNode.kt

+1-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ class CTNode private constructor() : ExtendableClass<CTExtInfo>() {
162162
}
163163

164164
val resetHandlers = mutableSetOf<Resettable>()
165-
private val afterHandlers = mutableSetOf<AfterHandler>()
165+
internal val afterHandlers = mutableSetOf<AfterHandler>()
166166

167167
fun modified(modifiable: Modifiable<*>) {
168168
resetHandlers.add(modifiable)

src/main/kotlin/cf/wayzer/contentsTweaker/ContentsTweaker.kt

+1
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ object ContentsTweaker {
3434
)
3535

3636
fun afterHandle() {
37+
if (CTNode.PatchHandler.afterHandlers.isEmpty()) return
3738
val time = measureTimeMillis {
3839
CTNode.PatchHandler.doAfterHandle()
3940
}

src/main/kotlin/cf/wayzer/contentsTweaker/ModMain.kt

+11-9
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,17 @@ class ModMain : Mod() {
3333
}
3434
ContentsTweaker.afterHandle()
3535
}
36-
Vars.netClient.addPacketHandler("ContentsLoader|newPatch") {
37-
val (name, content) = it.split('\n', limit = 2)
38-
ContentsTweaker.loadPatch(name, content)
39-
}
40-
//TODO: Deprecated
41-
Vars.netClient.addPacketHandler("ContentsLoader|loadPatch") { name ->
42-
val patch = Vars.state.map.tags.get("CT@$name")
43-
?: return@addPacketHandler Call.serverPacketReliable("ContentsLoader|requestPatch", name)
44-
ContentsTweaker.loadPatch(name, patch)
36+
if (Vars.netClient != null) {
37+
Vars.netClient.addPacketHandler("ContentsLoader|newPatch") {
38+
val (name, content) = it.split('\n', limit = 2)
39+
ContentsTweaker.loadPatch(name, content)
40+
}
41+
//TODO: Deprecated
42+
Vars.netClient.addPacketHandler("ContentsLoader|loadPatch") { name ->
43+
val patch = Vars.state.map.tags.get("CT@$name")
44+
?: return@addPacketHandler Call.serverPacketReliable("ContentsLoader|requestPatch", name)
45+
ContentsTweaker.loadPatch(name, patch)
46+
}
4547
}
4648
Vars.mods.scripts.scope.apply {
4749
put("CT", this, ContentsTweaker)

0 commit comments

Comments
 (0)