Skip to content

Commit 595bdbe

Browse files
committed
1.21.2 moment
1 parent 993664b commit 595bdbe

File tree

12 files changed

+46
-115
lines changed

12 files changed

+46
-115
lines changed

build.gradle

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
plugins {
22
id "architectury-plugin" version "3.4-SNAPSHOT"
3-
id "dev.architectury.loom" version "1.6-SNAPSHOT" apply false
3+
id "dev.architectury.loom" version "1.7-SNAPSHOT" apply false
44
id "org.ajoberstar.grgit" version "5.0.0" apply false
55
id "com.matthewprenger.cursegradle" version "1.4.0" apply false
66
id "com.modrinth.minotaur" version "2.+" apply false
@@ -20,10 +20,7 @@ subprojects {
2020

2121
dependencies {
2222
minecraft "com.mojang:minecraft:${rootProject.minecraft_version}"
23-
mappings loom.layered {
24-
it.mappings("net.fabricmc:yarn:${rootProject.yarn_mappings}:v2")
25-
it.mappings("dev.architectury:yarn-mappings-patch-neoforge:${rootProject.neoforge_yarn_mappings}")
26-
}
23+
mappings "net.fabricmc:yarn:${rootProject.yarn_mappings}:v2"
2724
}
2825

2926
}
Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11
package me.cael.capes.mixins;
22

3-
import com.llamalad7.mixinextras.sugar.Local;
4-
import net.minecraft.client.network.AbstractClientPlayerEntity;
53
import net.minecraft.client.render.RenderLayer;
64
import net.minecraft.client.render.entity.feature.CapeFeatureRenderer;
75
import net.minecraft.util.Identifier;
86
import org.spongepowered.asm.mixin.Mixin;
97
import org.spongepowered.asm.mixin.injection.At;
10-
import org.spongepowered.asm.mixin.injection.ModifyVariable;
118
import org.spongepowered.asm.mixin.injection.Redirect;
129

1310
@Mixin(CapeFeatureRenderer.class)
@@ -17,10 +14,4 @@ public class MixinCapeFeatureRenderer {
1714
private RenderLayer fixCapeTransparency(Identifier texture) {
1815
return RenderLayer.getArmorCutoutNoCull(texture);
1916
}
20-
21-
// Fixes https://bugs.mojang.com/browse/MC-127749
22-
@ModifyVariable(method = "render*", at = @At("STORE"), ordinal = 6)
23-
private float fixCapeInterpolation(float bodyRotation, @Local(argsOnly = true) AbstractClientPlayerEntity playerEntity, @Local(ordinal = 2, argsOnly = true) float partialTicks) {
24-
return playerEntity.prevBodyYaw + (playerEntity.bodyYaw - playerEntity.prevBodyYaw) * partialTicks;
25-
}
2617
}

common/src/main/kotlin/me/cael/capes/handler/PlayerHandler.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ class PlayerHandler(var profile: GameProfile) {
177177
val imgNew = NativeImage(imageWidth, imageHeight, true)
178178
for (x in 0 until srcWidth) {
179179
for (y in 0 until srcHeight) {
180-
imgNew.setColor(x, y, img.getColor(x, y))
180+
imgNew.setColorArgb(x, y, img.getColorArgb(x, y))
181181
}
182182
}
183183
img.close()
@@ -191,7 +191,7 @@ class PlayerHandler(var profile: GameProfile) {
191191
val frame = NativeImage(img.width, img.width / 2, true)
192192
for (x in 0 until frame.width) {
193193
for (y in 0 until frame.height) {
194-
frame.setColor(x, y, img.getColor(x, y + (currentFrame * (img.width / 2))))
194+
frame.setColorArgb(x, y, img.getColorArgb(x, y + (currentFrame * (img.width / 2))))
195195
}
196196
}
197197
animatedCape[currentFrame] = frame

common/src/main/kotlin/me/cael/capes/menu/SelectorMenu.kt

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -39,13 +39,16 @@ class SelectorMenu(parent: Screen, gameOptions: GameOptions) : MainMenu(parent,
3939

4040
buttonW = 100
4141

42+
addDrawableChild(ButtonWidget.builder(Text.translatable("options.capes.selector.player")) {
43+
PlaceholderEntity.showBody = !PlaceholderEntity.showBody
44+
}.position((width / 4) - (buttonW / 2), 145).size(buttonW, 20).build())
45+
4246
addDrawableChild(ButtonWidget.builder(Text.translatable("options.capes.selector.elytra")) {
4347
PlaceholderEntity.showElytra = !PlaceholderEntity.showElytra
4448
}.position((width / 4) - (buttonW / 2), 120).size(buttonW, 20).build())
4549

46-
addDrawableChild(ButtonWidget.builder(Text.translatable("options.capes.selector.player")) {
47-
PlaceholderEntity.showBody = !PlaceholderEntity.showBody
48-
}.position((width / 4) - (buttonW / 2), 145).size(buttonW, 20).build())
50+
addDrawableChild(ButtonWidget.builder(Text.literal("DO NOT ASK WHY THIS EXISTS")) {
51+
}.size(0, 0).build())
4952

5053
}
5154

@@ -73,7 +76,7 @@ class SelectorMenu(parent: Screen, gameOptions: GameOptions) : MainMenu(parent,
7376
matrixStack.pushMatrix()
7477
matrixStack.translate(x.toFloat(), y.toFloat(), 1050.0f)
7578
matrixStack.scale(1.0f, 1.0f, -1.0f)
76-
RenderSystem.applyModelViewMatrix()
79+
// RenderSystem.applyModelViewMatrix()
7780
val matrixStack2 = MatrixStack()
7881
matrixStack2.translate(0.0, 0.0, 1000.0)
7982
matrixStack2.scale(size.toFloat(), size.toFloat(), size.toFloat())
@@ -85,23 +88,22 @@ class SelectorMenu(parent: Screen, gameOptions: GameOptions) : MainMenu(parent,
8588
val entityRenderDispatcher = MinecraftClient.getInstance().entityRenderDispatcher
8689
entityRenderDispatcher.setRenderShadows(false)
8790
val immediate = MinecraftClient.getInstance().bufferBuilders.entityVertexConsumers
88-
RenderSystem.runAsFancy {
89-
val ctx = EntityRendererFactory.Context(
90-
MinecraftClient.getInstance().entityRenderDispatcher,
91-
MinecraftClient.getInstance().itemRenderer,
92-
MinecraftClient.getInstance().blockRenderManager,
93-
MinecraftClient.getInstance().entityRenderDispatcher.heldItemRenderer,
94-
MinecraftClient.getInstance().resourceManager,
95-
MinecraftClient.getInstance().entityModelLoader,
96-
MinecraftClient.getInstance().textRenderer
97-
)
98-
val displayPlayerEntityRenderer = DisplayPlayerEntityRenderer(ctx, entity.slim)
99-
displayPlayerEntityRenderer.render(entity, 1.0f, matrixStack2, immediate, 0xF000F0)
100-
}
91+
val ctx = EntityRendererFactory.Context(
92+
MinecraftClient.getInstance().entityRenderDispatcher,
93+
MinecraftClient.getInstance().itemRenderer,
94+
MinecraftClient.getInstance().mapRenderer,
95+
MinecraftClient.getInstance().blockRenderManager,
96+
MinecraftClient.getInstance().resourceManager,
97+
MinecraftClient.getInstance().entityModelLoader,
98+
MinecraftClient.getInstance().equipmentModelLoader,
99+
MinecraftClient.getInstance().textRenderer
100+
)
101+
val displayPlayerEntityRenderer = DisplayPlayerEntityRenderer(ctx, entity.slim)
102+
displayPlayerEntityRenderer.render(entity, 1.0f, matrixStack2, immediate, 0xF000F0)
101103
immediate.draw()
102104
entityRenderDispatcher.setRenderShadows(true)
103105
matrixStack.popMatrix()
104-
RenderSystem.applyModelViewMatrix()
106+
// RenderSystem.applyModelViewMatrix()
105107
DiffuseLighting.enableGuiDepthLighting()
106108
}
107109

common/src/main/kotlin/me/cael/capes/render/DisplayPlayerEntityRenderer.kt

Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import net.minecraft.client.render.entity.LivingEntityRenderer
99
import net.minecraft.client.render.entity.model.ElytraEntityModel
1010
import net.minecraft.client.render.entity.model.EntityModelLayers
1111
import net.minecraft.client.render.entity.model.PlayerEntityModel
12+
import net.minecraft.client.render.entity.state.PlayerEntityRenderState
1213
import net.minecraft.client.render.item.ItemRenderer
1314
import net.minecraft.client.util.DefaultSkinHelper
1415
import net.minecraft.client.util.math.MatrixStack
@@ -19,23 +20,21 @@ import net.minecraft.util.math.MathHelper
1920
import net.minecraft.util.math.RotationAxis
2021

2122
class DisplayPlayerEntityRenderer(val ctx: EntityRendererFactory.Context, slim: Boolean) :
22-
LivingEntityRenderer<LivingEntity, PlayerEntityModel<LivingEntity>> (
23+
LivingEntityRenderer<LivingEntity, PlayerEntityRenderState, PlayerEntityModel> (
2324
ctx,
24-
PlayerEntityModel<LivingEntity>(
25+
PlayerEntityModel(
2526
ctx.getPart(if (slim) EntityModelLayers.PLAYER_SLIM else EntityModelLayers.PLAYER),
2627
slim
2728
),
2829
0.5f
2930
) {
3031

31-
val elytra = ElytraEntityModel<LivingEntity>(ctx.modelLoader.getModelPart(EntityModelLayers.ELYTRA))
32+
val elytra = ElytraEntityModel(ctx.modelLoader.getModelPart(EntityModelLayers.ELYTRA))
3233

3334
fun render(livingEntity : PlaceholderEntity, tickDelta: Float, matrixStack: MatrixStack, vertexConsumerProvider: VertexConsumerProvider, light: Int) {
3435
setModelPose()
3536
matrixStack.push()
3637

37-
model.child = false
38-
3938
matrixStack.scale(0.9375f, 0.9375f, 0.9375f)
4039
matrixStack.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(180.0f - livingEntity.yaw))
4140
matrixStack.scale(-1.0f, -1.0f, 1.0f)
@@ -60,22 +59,17 @@ class DisplayPlayerEntityRenderer(val ctx: EntityRendererFactory.Context, slim:
6059
if (!PlaceholderEntity.showElytra) {
6160
if (PlaceholderEntity.getCapeTexture() == null) return
6261
matrixStack.push()
63-
matrixStack.translate(0.0f, 0.0f, 0.125f)
64-
65-
matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(3.0f))
66-
matrixStack.multiply(RotationAxis.POSITIVE_Y.rotationDegrees(180.0f))
6762

63+
matrixStack.multiply(RotationAxis.POSITIVE_X.rotationDegrees(6.0f))
6864
val vertexConsumer = vertexConsumerProvider.getBuffer(RenderLayer.getArmorCutoutNoCull(PlaceholderEntity.getCapeTexture()))
69-
ctx.getPart(EntityModelLayers.PLAYER).getChild("cloak")
65+
ctx.getPart(EntityModelLayers.PLAYER_CAPE).getChild("body").getChild("cape")
7066
.render(matrixStack, vertexConsumer, light, OverlayTexture.DEFAULT_UV)
7167
matrixStack.pop()
7268
} else {
7369
val identifier = PlaceholderEntity.getElytraTexture()
7470
matrixStack.push()
7571
matrixStack.translate(0.0f, 0.0f, 0.125f)
7672

77-
this.model.copyStateTo(this.elytra)
78-
7973
val vertexConsumer = ItemRenderer.getArmorGlintConsumer(vertexConsumerProvider, RenderLayer.getArmorCutoutNoCull(identifier), false)
8074
this.elytra.render(matrixStack, vertexConsumer, light, OverlayTexture.DEFAULT_UV)
8175
matrixStack.pop()
@@ -115,13 +109,6 @@ class DisplayPlayerEntityRenderer(val ctx: EntityRendererFactory.Context, slim:
115109
model.body.pivotY = 0.0f
116110
model.leftArm.pivotY = 2.0f
117111
model.rightArm.pivotY = 2.0f
118-
119-
model.hat.copyTransform(model.head)
120-
model.leftPants.copyTransform(model.leftLeg)
121-
model.rightPants.copyTransform(model.rightLeg)
122-
model.leftSleeve.copyTransform(model.leftArm)
123-
model.rightSleeve.copyTransform(model.rightArm)
124-
model.jacket.copyTransform(model.body)
125112
}
126113

127114
private fun setModelPose() {
@@ -136,5 +123,7 @@ class DisplayPlayerEntityRenderer(val ctx: EntityRendererFactory.Context, slim:
136123
playerEntityModel.rightSleeve.visible = options.isPlayerModelPartEnabled(PlayerModelPart.RIGHT_SLEEVE)
137124
}
138125

139-
override fun getTexture(entity: LivingEntity?): Identifier = DefaultSkinHelper.getTexture()
126+
override fun getTexture(state: PlayerEntityRenderState?): Identifier = DefaultSkinHelper.getTexture()
127+
128+
override fun createRenderState(): PlayerEntityRenderState = PlayerEntityRenderState()
140129
}

fabric/src/main/kotlin/me/cael/capes/fabric/FabricCapes.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ object FabricCapes : ClientModInitializer {
3333
)
3434
} ?: throw EntityArgumentType.PLAYER_NOT_FOUND_EXCEPTION.create()
3535
val debugInfo = getDebugInfoForPlayer(target.gameProfile)
36-
context.source.player.sendMessage(debugInfo)
36+
context.source.player.sendMessage(debugInfo, false)
3737
return@executes 1
3838
}
3939
)
4040
.executes { context ->
4141
val debugInfo = getDebugInfoForPlayer(context.source.player.gameProfile)
42-
context.source.player.sendMessage(debugInfo)
42+
context.source.player.sendMessage(debugInfo, false)
4343
return@executes 1
4444
}
4545
)

fabric/src/main/resources/fabric.mod.json

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@
2626
"value": "me.cael.capes.fabric.FabricCapes"
2727
}
2828
],
29-
"preLaunch": [
30-
"com.llamalad7.mixinextras.MixinExtrasBootstrap::init"
31-
],
3229
"modmenu": [
3330
"me.cael.capes.fabric.compatibility.ModMenuCompatibility"
3431
]
@@ -40,7 +37,7 @@
4037
"fabricloader": ">=0.14.21",
4138
"fabric": "*",
4239
"fabric-language-kotlin": "*",
43-
"minecraft": ">=1.20.5",
40+
"minecraft": ">=1.21",
4441
"java": ">=21"
4542
}
4643
}

forge/src/main/java/me/cael/capes/forge/mixins/ForgedCapesPlugin.java

Lines changed: 0 additions & 44 deletions
This file was deleted.

forge/src/main/resources/capes-forge.mixins.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
"minVersion": "0.8",
44
"package": "me.cael.capes.forge.mixins",
55
"compatibilityLevel": "JAVA_17",
6-
"plugin": "me.cael.capes.forge.mixins.ForgedCapesPlugin",
76
"mixins": [
87
],
98
"client": [

gradle.properties

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
org.gradle.jvmargs=-Xmx8G
22

3-
minecraft_version=1.21
4-
yarn_mappings=1.21+build.2
3+
minecraft_version=1.21.2
4+
yarn_mappings=1.21.2+build.1
55
neoforge_yarn_mappings=1.21+build.4
66
enabled_platforms=fabric
77

88
archives_base_name=capes
9-
mod_version=1.5.4+1.21
9+
mod_version=1.5.4+1.21.2
1010
maven_group=me.capes
1111

12-
fabric_loader_version=0.15.11
13-
fabric_api_version=0.100.1+1.21
12+
fabric_loader_version=0.16.7
13+
fabric_api_version=0.106.1+1.21.2
1414

15-
forge_version=21.0.8-beta
15+
forge_version=21.2.0-beta
1616

1717
# Other APIs
18-
fabric_kotlin_version=1.11.0+kotlin.2.0.0
18+
fabric_kotlin_version=1.12.3+kotlin.2.0.21
1919
forge_kotlin_version=5.+
20-
modmenu_version=11.+
20+
modmenu_version=12.+
2121

2222
# Publishing
2323
curseforge_id=408481

0 commit comments

Comments
 (0)