Skip to content

Commit 86d0a7f

Browse files
committed
Add 1.21.3 nms RegistryAccess support
1 parent 3e50a50 commit 86d0a7f

File tree

7 files changed

+73
-1
lines changed

7 files changed

+73
-1
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
val serverVer = "1.21.3"
2+
3+
dependencies {
4+
paperweight.paperDevBundle("$serverVer-R0.1-SNAPSHOT")
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.github.rothes.protocolstringreplacer.nms.generic.packetreader
2+
3+
import io.github.rothes.protocolstringreplacer.nms.packetreader.IBlockEntityTypeGetter
4+
import net.minecraft.world.level.block.entity.BlockEntityType
5+
6+
class BlockEntityTypeGetter: IBlockEntityTypeGetter {
7+
8+
override fun getSignType(): Any = BlockEntityType.SIGN
9+
10+
override fun getHangingSignType(): Any = BlockEntityType.HANGING_SIGN
11+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package io.github.rothes.protocolstringreplacer.nms.generic.packetreader
2+
3+
import net.minecraft.network.chat.ChatType
4+
import net.minecraft.network.chat.Component
5+
import net.minecraft.network.protocol.game.ClientboundDisguisedChatPacket
6+
import io.github.rothes.protocolstringreplacer.nms.packetreader.IDisguisedPacketHandler
7+
import java.lang.reflect.Field
8+
import java.util.Optional
9+
10+
class DisguisedPacketHandler: IDisguisedPacketHandler {
11+
12+
override val displayNameField: Field = ChatType.Bound::class.java.declaredFields.first { it.type == Component::class.java }
13+
override val targetField: Field = ChatType.Bound::class.java.declaredFields.first { it.type == Optional::class.java }
14+
15+
override fun boundRecord(packet: ClientboundDisguisedChatPacket): Any {
16+
return packet.chatType
17+
}
18+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package io.github.rothes.protocolstringreplacer.nms.generic.packetreader
2+
3+
import io.github.rothes.protocolstringreplacer.nms.packetreader.IMenuTypeGetter
4+
import net.minecraft.world.inventory.MenuType
5+
6+
class MenuTypeGetter: IMenuTypeGetter {
7+
8+
override fun getAnvilMenuType(): Any {
9+
return MenuType.ANVIL
10+
}
11+
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package io.github.rothes.protocolstringreplacer.nms.generic.packetreader
2+
3+
import io.github.rothes.protocolstringreplacer.nms.packetreader.ChatType
4+
import io.github.rothes.protocolstringreplacer.nms.packetreader.IPacketReader
5+
import net.minecraft.core.MappedRegistry
6+
import net.minecraft.core.registries.Registries
7+
import net.minecraft.network.protocol.game.ClientboundPlayerChatPacket
8+
import net.minecraft.server.MinecraftServer
9+
10+
class PacketReader: IPacketReader {
11+
12+
private val registry = MinecraftServer.getServer().registryAccess().lookupOrThrow(Registries.CHAT_TYPE)
13+
private val chatTypes = with(registry as MappedRegistry) {
14+
registryKeySet()
15+
.sortedBy { getId(this.getValue(it)) }
16+
.map { it.location().path }
17+
.map { ChatType.entries.find { type -> type.keys.contains(it) }!! }
18+
.toTypedArray()
19+
}
20+
21+
override fun readChatType(packet: ClientboundPlayerChatPacket): ChatType {
22+
return chatTypes[registry.getId(packet.chatType.chatType.value())]
23+
}
24+
25+
}

bukkit/nms/v1_21_3/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@ val serverVer = "1.21.3"
22

33
dependencies {
44
paperweight.paperDevBundle("$serverVer-R0.1-SNAPSHOT")
5-
implementation(project(":bukkit:nms:common:generic_v1_21"))
5+
implementation(project(":bukkit:nms:common:generic_v1_21_3"))
66
}

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ include("bukkit:nms")
44
include("bukkit:nms:common")
55
include("bukkit:nms:common:generic_v1_19_3")
66
include("bukkit:nms:common:generic_v1_21")
7+
include("bukkit:nms:common:generic_v1_21_3")
78
include("bukkit:nms:v1_19_1")
89
include("bukkit:nms:v1_19_2")
910
include("bukkit:nms:v1_19_3")

0 commit comments

Comments
 (0)