Commit 85e16907 authored by Ashijin's avatar Ashijin
Browse files

Fixed errors from hats/offhands on some versions

parent bb07d922
......@@ -47,7 +47,7 @@ public class WardrobeExecutor extends ReloadableModule<MCCosmeticsPlugin> implem
CommandHelper.sendEditorMessage(player, new String[] {
"<green>You're now in Wardrobe Mode!",
"Any cosmetics equipped will go on your mannequin",
"Cosmetics equipped will go on your mannequin",
"To exit, type the command again or walk away"
});
}
......
......@@ -12,6 +12,7 @@ import io.lumine.cosmetics.nms.VolatileCodeEnabled_v1_19_R1_2;
import io.lumine.cosmetics.nms.cosmetic.VolatileEquipmentHelper;
import io.lumine.cosmetics.players.Profile;
import io.lumine.utils.logging.Log;
import io.lumine.utils.reflection.Reflector;
import io.netty.buffer.Unpooled;
import lombok.Getter;
import net.minecraft.network.FriendlyByteBuf;
......@@ -158,6 +159,8 @@ public class VolatileHatImpl implements VolatileEquipmentHelper {
nmsHandler.broadcastAroundAndSelf(player, equipmentPacket);
}
private static Reflector<ClientboundSetEquipmentPacket> refEq = new Reflector(ClientboundSetEquipmentPacket.class, "c");
private void modifyPacket(Profile profile, ClientboundSetEquipmentPacket packet) {
final var maybeEquipped = profile.getEquipped(Hat.class);
if(maybeEquipped.isEmpty()) {
......@@ -189,8 +192,8 @@ public class VolatileHatImpl implements VolatileEquipmentHelper {
if(!foundHead) {
newSlots.add(Pair.of(EquipmentSlot.HEAD, nmsItem));
}
packet.getSlots().clear();
packet.getSlots().addAll(newSlots);
refEq.set(packet, "c", newSlots);
}
}
......@@ -12,6 +12,7 @@ import io.lumine.cosmetics.managers.offhand.Offhand;
import io.lumine.cosmetics.nms.VolatileCodeEnabled_v1_19_R1_2;
import io.lumine.cosmetics.nms.cosmetic.VolatileEquipmentHelper;
import io.lumine.cosmetics.players.Profile;
import io.lumine.utils.reflection.Reflector;
import io.netty.buffer.Unpooled;
import lombok.Getter;
import net.minecraft.network.FriendlyByteBuf;
......@@ -133,6 +134,8 @@ public class VolatileOffhandImpl implements VolatileEquipmentHelper {
nmsHandler.broadcastAroundAndSelf(player, equipmentPacket);
}
private static Reflector<ClientboundSetEquipmentPacket> refEq = new Reflector(ClientboundSetEquipmentPacket.class, "c");
private void modifyPacket(Profile profile, ClientboundSetEquipmentPacket packet) {
final var maybeEquipped = profile.getEquipped(Hat.class);
if(maybeEquipped.isEmpty()) {
......@@ -164,8 +167,7 @@ public class VolatileOffhandImpl implements VolatileEquipmentHelper {
if(!foundHead) {
newSlots.add(Pair.of(EquipmentSlot.HEAD, nmsItem));
}
packet.getSlots().clear();
packet.getSlots().addAll(newSlots);
refEq.set(packet, "c", newSlots);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment