Начинающий
- Статус
- Оффлайн
- Регистрация
- 3 Сен 2023
- Сообщения
- 343
- Реакции
- 5
просто хотел перенести на версию повыше, все сделал но есть трабл что цвет банально не меняется
package ru.yz1kk.manager;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
import java.util.concurrent.CopyOnWriteArrayList;
public class ShieldDataManager {
public static ShieldDataManager INSTANCE = new ShieldDataManager();
public final CopyOnWriteArrayList<PlayerStats> disabledShields = new CopyOnWriteArrayList<>();
public void handlePlayerByteStatusEvent(byte status, Object castedClass) {
if (LivingEntity.class.cast(castedClass) instanceof PlayerEntity player && status == 30) {
//MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of("Handled status " + status));//disable status
disabledShields.add(new PlayerStats(player));
}
}
public void tick() {
disabledShields.forEach(playerStats -> {
playerStats.ticks++;
if (playerStats.ticks >= 100) {
disabledShields.remove(playerStats);
}
});
}
public static class PlayerStats {
public PlayerEntity player;
public int ticks;
public PlayerStats(PlayerEntity player) {
this.player = player;
this.ticks = 0;
}
}
}
типа status = 30 это когда щит сломан, но почему то цвет щита не меняется, как по другому проверить поломку щита? это фулл оригинальный код и почему это не работает я незнаю, может кто шарит и сможет подсказать как сделать иную проверку на сбивание щита
package ru.yz1kk.manager;
import net.minecraft.client.MinecraftClient;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.text.Text;
import java.util.concurrent.CopyOnWriteArrayList;
public class ShieldDataManager {
public static ShieldDataManager INSTANCE = new ShieldDataManager();
public final CopyOnWriteArrayList<PlayerStats> disabledShields = new CopyOnWriteArrayList<>();
public void handlePlayerByteStatusEvent(byte status, Object castedClass) {
if (LivingEntity.class.cast(castedClass) instanceof PlayerEntity player && status == 30) {
//MinecraftClient.getInstance().inGameHud.getChatHud().addMessage(Text.of("Handled status " + status));//disable status
disabledShields.add(new PlayerStats(player));
}
}
public void tick() {
disabledShields.forEach(playerStats -> {
playerStats.ticks++;
if (playerStats.ticks >= 100) {
disabledShields.remove(playerStats);
}
});
}
public static class PlayerStats {
public PlayerEntity player;
public int ticks;
public PlayerStats(PlayerEntity player) {
this.player = player;
this.ticks = 0;
}
}
}
типа status = 30 это когда щит сломан, но почему то цвет щита не меняется, как по другому проверить поломку щита? это фулл оригинальный код и почему это не работает я незнаю, может кто шарит и сможет подсказать как сделать иную проверку на сбивание щита