Skip to content

Commit 192cc37

Browse files
committed
Version 1.3.3 [1.20.2] (Fixed #12)
1 parent 5ec7794 commit 192cc37

File tree

14 files changed

+110
-86
lines changed

14 files changed

+110
-86
lines changed

CHANGELOG.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
===Version 1.3.3===
2+
-Fixed a compatibility issue with JourneyMap (issue reported by seriousfreezing).
3+
14
===Version 1.3.2===
25
-Placing fire with flint and steel is now recorded on Fabric (issue reported by Libreh).
36
-Fixed issue with skin top layers when playing multiple players on version 1.19.2 and older (reported by fogartyfox_gamer).

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ After you save recording, you can create a scene, to which you can add multiple
1313

1414
CurseForge page: https://www.curseforge.com/minecraft/mc-mods/motion-capture-mod-mocap
1515

16+
Modrinth page: https://modrinth.com/mod/motion-capture
17+
1618
# How to use
1719

1820
- First, you need to start recording using ```/mocap recording start```. It will record all your movements or movements of a player given as an argument.

gradle.properties

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
org.gradle.jvmargs=-Xmx3G
22
org.gradle.daemon=false
33

4-
minecraft_version=1.20.1
5-
forge_version=47.1.0
4+
minecraft_version=1.20.2
5+
forge_version=48.0.13
66

7-
minecraft_version_range=[1.20,1.20.2)
8-
forge_version_range=[46,)
9-
loader_version_range=[46,)
7+
minecraft_version_range=[1.20.2,1.20.3)
8+
forge_version_range=[48,)
9+
loader_version_range=[48,)
1010

1111
mapping_channel=official
12-
mapping_version=1.20.1
12+
mapping_version=1.20.2
1313

1414

1515
## Mod Properties
1616
mod_id=mocap
17-
mod_version=1.3.2
17+
mod_version=1.3.3
1818

1919
mod_group_id=com.mt1006.mocap
2020
mod_jar_name=Mocap

src/main/java/com/mt1006/mocap/MocapMod.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@
1515
@Mod.EventBusSubscriber(modid = MocapMod.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
1616
public class MocapMod
1717
{
18+
//TODO: add translation key for copying scene
1819
public static final String MOD_ID = "mocap";
19-
public static final String VERSION = "1.3.2";
20-
public static final String FOR_VERSION = "1.20.1";
20+
public static final String VERSION = "1.3.3";
21+
public static final String FOR_VERSION = "1.20.2";
2122
public static final String FOR_LOADER = "Forge";
2223
public static final Logger LOGGER = LogManager.getLogger();
2324
public static final boolean isDedicatedServer = FMLEnvironment.dist.isDedicatedServer();

src/main/java/com/mt1006/mocap/mixin/AbstractClientPlayerMixin.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package com.mt1006.mocap.mixin;
22

33
import com.mojang.authlib.properties.Property;
4-
import com.mt1006.mocap.mixin.fields.PlayerInfoMixin;
54
import com.mt1006.mocap.mocap.playing.CustomClientSkinManager;
65
import com.mt1006.mocap.mocap.playing.CustomSkinManager;
76
import net.minecraft.client.multiplayer.PlayerInfo;
87
import net.minecraft.client.player.AbstractClientPlayer;
8+
import net.minecraft.client.resources.PlayerSkin;
99
import net.minecraft.resources.ResourceLocation;
1010
import org.jetbrains.annotations.Nullable;
1111
import org.spongepowered.asm.mixin.Mixin;
@@ -21,20 +21,24 @@ abstract public class AbstractClientPlayerMixin
2121
{
2222
@Shadow protected abstract @Nullable PlayerInfo getPlayerInfo();
2323

24-
@Inject(method = "getSkinTextureLocation", at = @At(value = "HEAD"), cancellable = true)
25-
private void atGetSkinTextureLocation(CallbackInfoReturnable<ResourceLocation> cir)
24+
@Inject(method = "getSkin", at = @At(value = "HEAD"), cancellable = true)
25+
private void atGetSkinTextureLocation(CallbackInfoReturnable<PlayerSkin> cir)
2626
{
2727
PlayerInfo playerInfo = getPlayerInfo();
2828
if (playerInfo == null) { return; }
2929

3030
Collection<Property> properties = playerInfo.getProfile().getProperties().get(CustomSkinManager.PROPERTY_ID);
31-
if (properties.size() < 1) { return; }
31+
if (properties.isEmpty()) { return; }
3232

33-
ResourceLocation res = CustomClientSkinManager.get(properties.iterator().next().getValue());
33+
ResourceLocation res = CustomClientSkinManager.get(properties.iterator().next().value());
3434
if (res == null) { return; }
3535

36-
((PlayerInfoMixin)playerInfo).setSkinModel(CustomClientSkinManager.isSlimSkin(res) ? "slim" : "default");
37-
cir.setReturnValue(res);
36+
PlayerSkin playerSkin = playerInfo.getSkin();
37+
38+
cir.setReturnValue(new PlayerSkin(res,
39+
playerSkin.textureUrl(), playerSkin.capeTexture(), playerSkin.elytraTexture(),
40+
CustomClientSkinManager.isSlimSkin(res) ? PlayerSkin.Model.SLIM : PlayerSkin.Model.WIDE,
41+
playerSkin.secure()));
3842
cir.cancel();
3943
}
4044
}

src/main/java/com/mt1006/mocap/mixin/SkinManagerMixin.java

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

src/main/java/com/mt1006/mocap/mixin/fields/PlayerInfoMixin.java

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

src/main/java/com/mt1006/mocap/mocap/playing/PlayedScene.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import com.mt1006.mocap.utils.Fields;
1515
import com.mt1006.mocap.utils.ProfileUtils;
1616
import net.minecraft.core.Vec3i;
17-
import net.minecraft.network.protocol.game.ClientboundAddPlayerPacket;
17+
import net.minecraft.network.protocol.game.ClientboundAddEntityPacket;
1818
import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket;
1919
import net.minecraft.resources.ResourceLocation;
2020
import net.minecraft.server.level.ServerLevel;
@@ -162,7 +162,7 @@ private boolean startPlayingRecording(CommandInfo commandInfo, DataManager data)
162162
recording.preExecute(fakePlayer, blockOffset);
163163

164164
packetTargets.broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.ADD_PLAYER, fakePlayer));
165-
packetTargets.broadcastAll(new ClientboundAddPlayerPacket(fakePlayer));
165+
packetTargets.broadcastAll(new ClientboundAddEntityPacket(fakePlayer));
166166

167167
level.addNewPlayer(fakePlayer);
168168

src/main/java/com/mt1006/mocap/network/MocapPacketC2S.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.mt1006.mocap.mocap.playing.CustomSkinManager;
66
import net.minecraft.network.FriendlyByteBuf;
77
import net.minecraft.server.level.ServerPlayer;
8-
import net.minecraftforge.network.NetworkEvent;
8+
import net.minecraftforge.event.network.CustomPayloadEvent;
99
import net.minecraftforge.network.PacketDistributor;
1010

1111
import java.util.function.Supplier;
@@ -53,10 +53,10 @@ public void encode(FriendlyByteBuf buf)
5353
}
5454
}
5555

56-
public void handle(Supplier<NetworkEvent.Context> ctx)
56+
public void handle(CustomPayloadEvent.Context ctx)
5757
{
5858
if (version != MocapPackets.CURRENT_VERSION) { return; }
59-
ServerPlayer sender = ctx.get().getSender();
59+
ServerPlayer sender = ctx.getSender();
6060

6161
switch (op)
6262
{
@@ -84,13 +84,13 @@ public static void sendRequestCustomSkin(String name)
8484
private static void send(int op, Object object)
8585
{
8686
MocapPacketC2S packet = new MocapPacketC2S(MocapPackets.CURRENT_VERSION, op, object);
87-
MocapPackets.INSTANCE.send(PacketDistributor.SERVER.with(() -> null), packet);
87+
MocapPackets.INSTANCE.send(packet, PacketDistributor.SERVER.with(null));
8888
}
8989

9090
private static void respond(int op, Object object)
9191
{
9292
// same as "send", used to prevent bugs when porting to Fabric
9393
MocapPacketC2S packet = new MocapPacketC2S(MocapPackets.CURRENT_VERSION, op, object);
94-
MocapPackets.INSTANCE.send(PacketDistributor.SERVER.with(() -> null), packet);
94+
MocapPackets.INSTANCE.send(packet, PacketDistributor.SERVER.with(null));
9595
}
9696
}

src/main/java/com/mt1006/mocap/network/MocapPacketS2C.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.mt1006.mocap.mocap.playing.CustomClientSkinManager;
77
import net.minecraft.network.FriendlyByteBuf;
88
import net.minecraft.server.level.ServerPlayer;
9-
import net.minecraftforge.network.NetworkEvent;
9+
import net.minecraftforge.event.network.CustomPayloadEvent;
1010
import net.minecraftforge.network.PacketDistributor;
1111

1212
import java.util.ArrayList;
@@ -99,7 +99,7 @@ public void encode(FriendlyByteBuf buf)
9999
}
100100
}
101101

102-
public void handle(Supplier<NetworkEvent.Context> ctx)
102+
public void handle(CustomPayloadEvent.Context ctx)
103103
{
104104
if (version != MocapPackets.CURRENT_VERSION) { return; }
105105

@@ -152,13 +152,13 @@ public static void sendCustomSkinData(ServerPlayer serverPlayer, String name, by
152152
private static void send(ServerPlayer serverPlayer, int op, Object object)
153153
{
154154
MocapPacketS2C packet = new MocapPacketS2C(MocapPackets.CURRENT_VERSION, op, object);
155-
MocapPackets.INSTANCE.send(PacketDistributor.PLAYER.with(() -> serverPlayer), packet);
155+
MocapPackets.INSTANCE.send(packet, PacketDistributor.PLAYER.with(serverPlayer));
156156
}
157157

158158
private static void respond(ServerPlayer serverPlayer, int op, Object object)
159159
{
160160
// same as "send", used to prevent bugs when porting to Fabric
161161
MocapPacketS2C packet = new MocapPacketS2C(MocapPackets.CURRENT_VERSION, op, object);
162-
MocapPackets.INSTANCE.send(PacketDistributor.PLAYER.with(() -> serverPlayer), packet);
162+
MocapPackets.INSTANCE.send(packet, PacketDistributor.PLAYER.with(serverPlayer));
163163
}
164164
}

0 commit comments

Comments
 (0)