Modernize and 1.19.4ify

This commit is contained in:
nea
2023-05-03 00:52:37 +02:00
parent a8ab8f3d63
commit 3be33bb522
19 changed files with 134 additions and 176 deletions

View File

@@ -1,10 +1,10 @@
package moe.nea.notenoughupdates.events
import org.joml.Matrix4f
import net.minecraft.client.render.Camera
import net.minecraft.client.render.GameRenderer
import net.minecraft.client.render.LightmapTextureManager
import net.minecraft.client.util.math.MatrixStack
import net.minecraft.util.math.Matrix4f
/**
* This event is called after all world rendering is done, but before any GUI rendering (including hand) has been done.

View File

@@ -1,18 +0,0 @@
package moe.nea.notenoughupdates.mixins
import org.spongepowered.asm.mixin.Mixin
import org.spongepowered.asm.mixin.Overwrite
import net.minecraft.client.ClientBrandRetriever
@Mixin(ClientBrandRetriever::class)
class MixinClientBrandRetriever {
private companion object {
@JvmStatic
@Overwrite
fun getClientModName(): String {
return "penis"
}
}
}

View File

@@ -1,17 +0,0 @@
package moe.nea.notenoughupdates.mixins
import org.spongepowered.asm.mixin.Mixin
import org.spongepowered.asm.mixin.injection.At
import org.spongepowered.asm.mixin.injection.Inject
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import net.minecraft.client.network.ClientPlayNetworkHandler
import net.minecraft.network.packet.s2c.play.PlayerSpawnPositionS2CPacket
import moe.nea.notenoughupdates.events.WorldReadyEvent
@Mixin(ClientPlayNetworkHandler::class)
class MixinClientPlayNetworkHandler {
@Inject(method = ["onPlayerSpawnPosition"], at = [At("RETURN")])
fun onOnPlayerSpawnPosition(packet: PlayerSpawnPositionS2CPacket, ci: CallbackInfo) {
WorldReadyEvent.publish(WorldReadyEvent())
}
}

View File

@@ -1,33 +0,0 @@
package moe.nea.notenoughupdates.mixins
import org.spongepowered.asm.mixin.Mixin
import org.spongepowered.asm.mixin.injection.At
import org.spongepowered.asm.mixin.injection.Inject
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import net.minecraft.client.network.message.MessageHandler
import net.minecraft.network.message.MessageType
import net.minecraft.network.message.SignedMessage
import net.minecraft.text.Text
import moe.nea.notenoughupdates.events.ServerChatLineReceivedEvent
@Mixin(MessageHandler::class)
class MixinMessageHandler {
@Inject(method = ["onChatMessage"], at = [At("HEAD")], cancellable = true)
fun onOnChatMessage(message: SignedMessage, params: MessageType.Parameters, ci: CallbackInfo) {
val decoratedText = params.applyChatDecoration(message.unsignedContent.orElse(message.content))
val event = ServerChatLineReceivedEvent(decoratedText)
if (ServerChatLineReceivedEvent.publish(event).cancelled) {
ci.cancel()
}
}
@Inject(method = ["onGameMessage"], at = [At("HEAD")], cancellable = true)
fun onOnGameMessage(message: Text, overlay: Boolean, ci: CallbackInfo) {
if (!overlay) {
val event = ServerChatLineReceivedEvent(message)
if (ServerChatLineReceivedEvent.publish(event).cancelled) {
ci.cancel()
}
}
}
}

View File

@@ -1,20 +0,0 @@
package moe.nea.notenoughupdates.mixins
import org.spongepowered.asm.mixin.Mixin
import org.spongepowered.asm.mixin.injection.At
import org.spongepowered.asm.mixin.injection.Inject
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import net.minecraft.client.MinecraftClient
import net.minecraft.client.gui.screen.Screen
import moe.nea.notenoughupdates.events.ScreenOpenEvent
@Suppress("CAST_NEVER_SUCCEEDS")
@Mixin(MinecraftClient::class)
class MixinMinecraft {
@Inject(method = ["setScreen"], at = [At("HEAD")], cancellable = true)
fun onScreenChange(screen: Screen?, ci: CallbackInfo) {
val event = ScreenOpenEvent((this as MinecraftClient).currentScreen, screen)
if (ScreenOpenEvent.publish(event).cancelled)
ci.cancel()
}
}

View File

@@ -1,41 +0,0 @@
package moe.nea.notenoughupdates.mixins
import org.spongepowered.asm.mixin.Mixin
import org.spongepowered.asm.mixin.injection.At
import org.spongepowered.asm.mixin.injection.Inject
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo
import net.minecraft.client.render.Camera
import net.minecraft.client.render.GameRenderer
import net.minecraft.client.render.LightmapTextureManager
import net.minecraft.client.render.WorldRenderer
import net.minecraft.client.util.math.MatrixStack
import net.minecraft.util.math.Matrix4f
import moe.nea.notenoughupdates.events.WorldRenderLastEvent
@Mixin(WorldRenderer::class)
class MixinWorldRenderer {
@Inject(
method = ["render"],
at = [At("INVOKE", target = "renderChunkDebugInfo", shift = At.Shift.AFTER)],
)
fun onWorldRenderLast(
matrices: MatrixStack,
tickDelta: Float,
arg2: Long,
renderBlockOutline: Boolean,
camera: Camera,
gameRenderer: GameRenderer,
lightmapTextureManager: LightmapTextureManager,
positionMatrix: Matrix4f,
ci: CallbackInfo
) {
val event = WorldRenderLastEvent(
matrices, tickDelta, renderBlockOutline,
camera, gameRenderer, lightmapTextureManager,
positionMatrix
)
WorldRenderLastEvent.publish(event)
}
}

View File

@@ -16,10 +16,10 @@ import moe.nea.notenoughupdates.repo.ItemCache.asItemStack
import moe.nea.notenoughupdates.repo.ItemCache.getIdentifier
import net.minecraft.client.util.math.MatrixStack
import net.minecraft.item.ItemStack
import net.minecraft.tag.TagKey
import net.minecraft.text.Text
import net.minecraft.util.Identifier
import java.util.stream.Stream
import net.minecraft.registry.tag.TagKey
object SBItemEntryDefinition : EntryDefinition<NEUItem> {
override fun equals(o1: NEUItem?, o2: NEUItem?, context: ComparisonContext?): Boolean {
@@ -61,7 +61,7 @@ object SBItemEntryDefinition : EntryDefinition<NEUItem> {
return null
}
override fun getTagsFor(entry: EntryStack<NEUItem>?, value: NEUItem?): Stream<out TagKey<*>> {
override fun getTagsFor(entry: EntryStack<NEUItem>?, value: NEUItem?): Stream<out TagKey<*>>? {
return Stream.empty()
}

View File

@@ -1,14 +1,11 @@
package moe.nea.notenoughupdates.util
import java.time.Instant
import kotlinx.serialization.SerializationException
import kotlinx.serialization.decodeFromString
import kotlin.time.Duration
import kotlin.time.Duration.Companion.seconds
import kotlin.time.ExperimentalTime
import kotlin.time.TimeSource
import net.minecraft.network.message.ArgumentSignatureDataMap
import net.minecraft.network.packet.c2s.play.CommandExecutionC2SPacket
import moe.nea.notenoughupdates.NotEnoughUpdates
import moe.nea.notenoughupdates.events.ServerChatLineReceivedEvent
import moe.nea.notenoughupdates.events.SkyblockServerUpdateEvent
@@ -62,17 +59,7 @@ object SBData {
fun sendLocraw() {
lastLocrawSent = TimeSource.Monotonic.markNow()
val nh = MC.player?.networkHandler ?: return
val ack = nh.consumeAcknowledgment()
nh.sendPacket(
CommandExecutionC2SPacket(
"locraw",
Instant.now(),
0L,
ArgumentSignatureDataMap.EMPTY,
false,
ack
)
)
nh.sendChatCommand("locraw")
}

View File

@@ -22,7 +22,7 @@ class RenderBlockContext(val tesselator: Tessellator, val camPos: Vec3d) {
matrixStack.push()
matrixStack.translate(blockPos.x - camPos.x, blockPos.y - camPos.y, blockPos.z - camPos.z)
RenderSystem.applyModelViewMatrix()
RenderSystem.setShader(GameRenderer::getPositionColorShader)
RenderSystem.setShader(GameRenderer::getPositionColorProgram)
buildCube(buffer)
tesselator.draw()
matrixStack.pop()
@@ -73,7 +73,6 @@ class RenderBlockContext(val tesselator: Tessellator, val camPos: Vec3d) {
fun renderBlocks(camera: Camera, block: RenderBlockContext. () -> Unit) {
RenderSystem.disableDepthTest()
RenderSystem.disableTexture()
RenderSystem.enableBlend()
RenderSystem.defaultBlendFunc()
@@ -82,7 +81,6 @@ class RenderBlockContext(val tesselator: Tessellator, val camPos: Vec3d) {
VertexBuffer.unbind()
RenderSystem.enableDepthTest()
RenderSystem.enableTexture()
RenderSystem.disableBlend()
}
}