Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
java.lang.ArrayIndexOutOfBoundsException:
Выход за границы массива. Идентификаторы массива начинаются с 0. Значит, если у тебя 4 слота, то идентификатор крайнего - 3.
Вроде можно указать расстояние для рейтрейса в самом методе. Если нет, то возьми вектор взгляда игрока и добавь в нему расстояние.
Vec3d vec3d = viewEntity.getPositionEyes((float) 0);
Vec3d vec3d1 = viewEntity.getLook((float) 0);
int range = 16;
Vec3d vec3d2 =...
Такое условие в эвенте
Так выглядит метод, который должен отвечать за использование предмета(в том числе за прохождение условия выше)
Короткий ответ: учи джаву
Длинный ответ: Обфу сними с названий и метод переопредели, ты сейчас вообще не должен иметь возможность использовать предмет.
Вот твоя ошибка, наследоваться надо в твоём случае от класса предмета.
И instanceof не дешёвая операция, для сравнивания в этом случае можно использовать item.getItem() == Shield
@Override
public void registerItemRenderer(Item i, int meta, String id) {
ModelLoader.setCustomModelResourceLocation(i, meta, new ModelResourceLocation(ExampleMod.MODID + ":" + id, "inventory"));
}