P3-11 : add PacketPlayRigAnim + ModNetwork registration (handler stub)
Record packet S->C pour animations cinematic one-shot (capture NPC, hit stun, death). Carries entityId, animId (ResourceLocation), transitionTime (float), et priorityOrdinal (byte = Layer.Priority.ordinal()). Encode via writeVarInt/writeResourceLocation/writeFloat/writeByte ; decode symétrique. Factory PacketPlayRigAnim.of() pour build lisible avec Layer.Priority, et getter priority() avec fallback LOWEST si ordinal hors-range (masking & 0xFF pour gérer byte négatif). Handler client = stub qui LOGGER.debug + setPacketHandled. Le corps complet (resolve entity, lookup LivingEntityPatch, animator.playAnimation) viendra en P3-12 avec la méthode serveur playAnimationSync(). Registration ajoutée en fin de ModNetwork.register() — ID sequential 75 (76 packets total). 7 tests unitaires PacketPlayRigAnimTest : roundtrip nominal, entityId boundary (0/MAX/MIN), transitionTime zero+negative (pas de validation silencieuse), loop sur les 5 Layer.Priority, fallback LOWEST sur ordinal malformé (99, -1, PRIORITY_COUNT), ResourceLocation avec underscores et slashes, et sanity check equals. Rig tests : 65 -> 72 GREEN. Full suite : 162 GREEN, 0 failure.
This commit is contained in:
@@ -64,6 +64,7 @@ import com.tiedup.remake.network.sync.PacketSyncPetBedState;
|
||||
import com.tiedup.remake.network.sync.PacketSyncStruggleState;
|
||||
import com.tiedup.remake.network.trader.PacketBuyCaptive;
|
||||
import com.tiedup.remake.network.trader.PacketOpenTraderScreen;
|
||||
import com.tiedup.remake.rig.network.PacketPlayRigAnim;
|
||||
import com.tiedup.remake.v2.bondage.network.PacketSyncV2Equipment;
|
||||
import com.tiedup.remake.v2.bondage.network.PacketV2LockToggle;
|
||||
import com.tiedup.remake.v2.bondage.network.PacketV2SelfEquip;
|
||||
@@ -592,6 +593,14 @@ public class ModNetwork {
|
||||
PacketSyncMovementStyle::handle
|
||||
);
|
||||
|
||||
// RIG animation system (S2C cinematic one-shot)
|
||||
reg(
|
||||
PacketPlayRigAnim.class,
|
||||
PacketPlayRigAnim::encode,
|
||||
PacketPlayRigAnim::decode,
|
||||
PacketPlayRigAnim::handleOnClient
|
||||
);
|
||||
|
||||
TiedUpMod.LOGGER.info("Registered {} network packets", packetId);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user