aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/Danker/features/SpiritBootsFix.java
blob: 8530f17afc63dd25c0f735bc673e60d048bda6fe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package me.Danker.features;

import me.Danker.events.PacketReadEvent;
import me.Danker.utils.Utils;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.play.server.S04PacketEntityEquipment;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.ReflectionHelper;

import java.lang.reflect.Field;

public class SpiritBootsFix {

    static Field slot = ReflectionHelper.findField(S04PacketEntityEquipment.class, "equipmentSlot", "field_149392_b", "b");

    @SubscribeEvent
    public void onPacketRead(PacketReadEvent event) throws IllegalAccessException {
        if (Utils.inSkyblock && event.packet instanceof S04PacketEntityEquipment) {
            EntityPlayer player = Minecraft.getMinecraft().thePlayer;
            S04PacketEntityEquipment packet = (S04PacketEntityEquipment) event.packet;

            if (player == null || packet == null) return;
            if (packet.getEntityID() == player.getEntityId()) {
                slot.setAccessible(true);
                slot.setInt(packet, slot.getInt(packet) + 1);
                event.packet = packet;
            }
        }
    }

}