Skip to content

Commit 450bfd9

Browse files
committed
fix: custom chunk ticket type
1 parent e03eba9 commit 450bfd9

File tree

3 files changed

+9
-5
lines changed

3 files changed

+9
-5
lines changed

src/main/kotlin/com/github/zly2006/enclosure/EnclosureArea.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.github.zly2006.enclosure
22

33
import com.github.zly2006.enclosure.command.CONSOLE
4+
import com.github.zly2006.enclosure.command.FORCED
45
import com.github.zly2006.enclosure.command.MAX_CHUNK_LEVEL
56
import com.github.zly2006.enclosure.command.Session
67
import com.github.zly2006.enclosure.gui.EnclosureScreenHandler
@@ -426,7 +427,7 @@ open class EnclosureArea : PersistentState, EnclosureView {
426427
ServerMain.getAllEnclosures(world).markDirty()
427428
if (ticket != null) {
428429
toBlockBox().streamChunkPos().forEach {
429-
world.chunkManager.addTicket(ChunkTicketType.FORCED, it, MAX_CHUNK_LEVEL - ticket!!.level, it)
430+
world.chunkManager.addTicket(FORCED, it, MAX_CHUNK_LEVEL - ticket!!.level, it)
430431
}
431432
}
432433
super.markDirty()

src/main/kotlin/com/github/zly2006/enclosure/EnclosureList.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.github.zly2006.enclosure
33
import com.github.zly2006.enclosure.ServerMain.enclosures
44
import com.github.zly2006.enclosure.ServerMain.getAllEnclosures
55
import com.github.zly2006.enclosure.access.ChunkAccess
6+
import com.github.zly2006.enclosure.command.FORCED
67
import com.github.zly2006.enclosure.command.MAX_CHUNK_LEVEL
78
import com.github.zly2006.enclosure.utils.Serializable2Text.SerializationSettings.NameHover
89
import net.minecraft.nbt.NbtCompound
@@ -11,7 +12,6 @@ import net.minecraft.nbt.NbtString
1112
import net.minecraft.registry.RegistryWrapper
1213
import net.minecraft.server.world.ChunkLevelType
1314
import net.minecraft.server.world.ChunkLevels
14-
import net.minecraft.server.world.ChunkTicketType
1515
import net.minecraft.server.world.ServerWorld
1616
import net.minecraft.text.Text
1717
import net.minecraft.util.math.BlockPos
@@ -137,10 +137,10 @@ class EnclosureList(world: ServerWorld, private val isRoot: Boolean) : Persisten
137137
.minOfOrNull { it.ticket!!.level }
138138
?: ChunkLevels.getLevelFromType(ChunkLevelType.FULL) // chunk border level
139139
if (targetLevel > area.ticket!!.level) {
140-
world.chunkManager.removeTicket(ChunkTicketType.FORCED, it, MAX_CHUNK_LEVEL - area.ticket!!.level, it)
140+
world.chunkManager.removeTicket(FORCED, it, MAX_CHUNK_LEVEL - area.ticket!!.level, it)
141141
}
142142
} else {
143-
world.chunkManager.removeTicket(ChunkTicketType.FORCED, it, MAX_CHUNK_LEVEL - area.ticket!!.level, it)
143+
world.chunkManager.removeTicket(FORCED, it, MAX_CHUNK_LEVEL - area.ticket!!.level, it)
144144
}
145145
}
146146
}
@@ -150,7 +150,7 @@ class EnclosureList(world: ServerWorld, private val isRoot: Boolean) : Persisten
150150
if (area.ticket != null) {
151151
if (area.ticket!!.remainingTicks > 0) {
152152
area.toBlockBox().streamChunkPos().forEach {
153-
world.chunkManager.addTicket(ChunkTicketType.FORCED, it, MAX_CHUNK_LEVEL - area.ticket!!.level, it)
153+
world.chunkManager.addTicket(FORCED, it, MAX_CHUNK_LEVEL - area.ticket!!.level, it)
154154
}
155155
// todo: message
156156
}

src/main/kotlin/com/github/zly2006/enclosure/command/ForceLoadSubcommand.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,12 @@ import me.lucko.fabric.api.permissions.v0.Options
99
import net.minecraft.server.command.ServerCommandSource
1010
import net.minecraft.server.world.ChunkLevelType
1111
import net.minecraft.server.world.ChunkLevels
12+
import net.minecraft.server.world.ChunkTicketType
1213
import net.minecraft.text.Text
14+
import net.minecraft.util.math.ChunkPos
1315

1416
const val MAX_CHUNK_LEVEL = 33 // ChunkLevels.getLevelFromType(ChunkLevelType.FULL)
17+
val FORCED = ChunkTicketType.create<ChunkPos>("enclosure.forced", Comparator.comparingLong { it.toLong() })
1518

1619
fun BuilderScope<*>.registerForceLoad() {
1720
fun forceLoad(source: ServerCommandSource, area: Enclosure, ticks: Int, level: Int) {

0 commit comments

Comments
 (0)