Skip to content

Commit 554a9a2

Browse files
committed
feat: upgrade to fabric 1.18.1
1 parent 8f338b5 commit 554a9a2

9 files changed

Lines changed: 33 additions & 18 deletions

File tree

.github/workflows/Gradle CI.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
uses: actions/setup-java@v2
2424
with:
2525
distribution: 'temurin'
26-
java-version: 16
26+
java-version: 17
2727

2828
# Validate Gradle Wrapper
2929
- name: Gradle Wrapper Validation

gradle.properties

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ kotlin.code.style=official
22
org.gradle.jvmargs=-Xmx3G
33
org.gradle.warning.mode=all
44
# Check these on https://fabricmc.net/develop/
5-
minecraftVersion=1.17.1
6-
yarnMappings=1.17.1+build.65
5+
minecraftVersion=1.18.1
6+
yarnMappings=1.18.1+build.22
77
loaderVersion=0.13.3
88
# Fabric API
9-
fabricVersion=0.46.1+1.17
10-
loomVersion=0.10-SNAPSHOT
9+
fabricVersion=0.46.6+1.18
10+
loomVersion=0.11-SNAPSHOT
1111
# Mod Properties
12-
modVersion=1.17.1-1.4.0
12+
modVersion=1.18.1-1.4.0
1313
mavenGroup=io.github.samarium150
1414
archivesBaseName=structures_compass-fabric
1515
# Kotlin

src/main/kotlin/io/github/samarium150/minecraft/mod/structures_compass/client/gui/StructuresCompassScreen.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ class StructuresCompassScreen(private val itemStack: ItemStack) : Screen(
172172
super.render(matrices, mouseX, mouseY, delta)
173173
}
174174

175-
override fun isPauseScreen(): Boolean {
175+
override fun shouldPause(): Boolean {
176176
return false
177177
}
178178

src/main/kotlin/io/github/samarium150/minecraft/mod/structures_compass/command/GetCompass.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ object GetCompass {
4747
.requires { it.hasPermissionLevel(2) }
4848
.apply {
4949
Registry.STRUCTURE_FEATURE.forEach {
50-
then(CommandManager.literal(it.name)
51-
.executes { context -> execute(context, it.name) }
50+
then(CommandManager.literal(it.toString())
51+
.executes { context -> execute(context, it.toString()) }
5252
)
5353
}
5454
}

src/main/kotlin/io/github/samarium150/minecraft/mod/structures_compass/network/packet/c2s/RequestSyncPacket.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ import net.minecraft.network.PacketByteBuf
2727
import net.minecraft.server.MinecraftServer
2828
import net.minecraft.server.network.ServerPlayNetworkHandler
2929
import net.minecraft.server.network.ServerPlayerEntity
30+
import net.minecraft.server.world.ServerWorld
3031
import net.minecraft.util.Identifier
3132

3233
class RequestSyncPacket : PacketByteBuf(Unpooled.buffer()) {
@@ -43,7 +44,7 @@ class RequestSyncPacket : PacketByteBuf(Unpooled.buffer()) {
4344
responseSender: PacketSender
4445
) {
4546
server.execute {
46-
StructuresCompassData.readStructureDimensionMap(player.serverWorld)
47+
StructuresCompassData.readStructureDimensionMap(player.world as ServerWorld)
4748
ServerPlayNetworking.send(player, SyncPacket.ID, SyncPacket(
4849
player.mainHandStack,
4950
StructuresCompassData.allowedStructures,

src/main/kotlin/io/github/samarium150/minecraft/mod/structures_compass/util/ItemStackHelper.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import io.github.samarium150.minecraft.mod.structures_compass.config.StructuresC
2020
import io.github.samarium150.minecraft.mod.structures_compass.item.StructuresCompassItem
2121
import net.minecraft.item.ItemStack
2222
import net.minecraft.server.network.ServerPlayerEntity
23+
import net.minecraft.server.world.ServerWorld
2324
import net.minecraft.text.TranslatableText
2425
import net.minecraft.util.Identifier
2526
import net.minecraft.util.math.BlockPos
@@ -78,7 +79,7 @@ fun ItemStack.search(player: ServerPlayerEntity, structureId: Identifier) {
7879
val structure = structureId.getStructureFeature()
7980
val radius = StructuresCompassConfig.configData.common.radius
8081
if (structure != null) {
81-
val world = player.serverWorld
82+
val world = player.world as ServerWorld
8283
setStructure(structureId)
8384
player.sendMessage(TranslatableText("${prefix}msg_searching"), false)
8485
val pos = world.locateStructure(structure, player.blockPos, radius, getSkip())

src/main/kotlin/io/github/samarium150/minecraft/mod/structures_compass/util/StructureHelper.kt

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import net.minecraft.util.Identifier
2525
import net.minecraft.util.math.BlockPos
2626
import net.minecraft.util.math.Vec3d
2727
import net.minecraft.util.registry.Registry
28+
import net.minecraft.world.World
2829
import net.minecraft.world.gen.feature.StructureFeature
2930
import kotlin.math.roundToInt
3031
import kotlin.math.sqrt
@@ -44,14 +45,26 @@ fun StructureFeature<*>.getNamespace(): String? {
4445
fun StructureFeature<*>.getDimensions(world: ServerWorld): List<Identifier> {
4546
val dimensions = mutableListOf<Identifier>()
4647
world.server.worlds.forEach {
47-
val generator = it.chunkManager.chunkGenerator
48-
if (generator.structuresConfig.getForType(this) != null &&
49-
generator.biomeSource.hasStructureFeature(this)
50-
) dimensions.add(it.registryKey.value)
48+
if (it.canGenerate(this))
49+
dimensions.add(it.registryKey.value)
5150
}
5251
return dimensions
5352
}
5453

54+
fun ServerWorld.canGenerate(structure: StructureFeature<*>): Boolean {
55+
val generator = chunkManager.chunkGenerator
56+
val config = generator.structuresConfig
57+
val registry = this.registryManager.get(Registry.BIOME_KEY)
58+
if (config.getForType(structure) != null && structure == StructureFeature.STRONGHOLD)
59+
return this.registryKey == World.OVERWORLD
60+
val biomes: Set<String> = generator.biomeSource.biomes.mapNotNull(registry::getId).map(Identifier::toString).toSet()
61+
for (biome in config.getConfiguredStructureFeature(structure).values()) {
62+
if (biomes.contains(biome.value.toString()))
63+
return true
64+
}
65+
return false
66+
}
67+
5568
fun StructureFeature<*>.getDimensions(): List<Identifier> {
5669
return StructuresCompassData.structuresDimensionsMap[this] ?: listOf()
5770
}

src/main/resources/fabric.mod.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
"fabricloader": ">=0.13.3",
3434
"fabric": "*",
3535
"fabric-language-kotlin": ">=1.7.1+kotlin.1.6.10",
36-
"minecraft": "1.17.x",
37-
"java": ">=16"
36+
"minecraft": "1.18.1",
37+
"java": ">=17"
3838
}
3939
}

src/main/resources/structures_compass.mixins.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"required": true,
33
"package": "io.github.samarium150.minecraft.mod.structures_compass.mixin",
4-
"compatibilityLevel": "JAVA_16",
4+
"compatibilityLevel": "JAVA_17",
55
"injectors": {
66
"defaultRequire": 1
77
},

0 commit comments

Comments
 (0)