[Простое] отключение теней для модели

Версия Minecraft
1.7.10
341
14
113
Доброго всем времени суток, я здесь снова с надоедливым вопросом.
Суть вопроса такова.
Есть у меня блок с тайл-сущностью, к нему привязан кастомный рендер с obj моделью, абсолютно без всяких выкрутасов.
Рендерится все адекватно, но после включения почти любого шейдера для Optifine, модель начинает отбрасывать тени. Это ожидаемо, но мне бы хотелось узнать способ отключить тень от такого объекта(и только от такого).
Похожее есть в кое-каком японском моде, но там автор устраивает такие дикие пляски с бубном, которые мне на моем уровне знаний не осилить. К тому же, они иногда могут сломать сам шейдер.
Итак, суть вопроса:
1. Есть ли простой способ, какой-то костыль в рендере, заставляющий шейдер думать, что перед ним - прозрачный блок и не отрисовывать тени от него?
2. Если есть, то мне бы хотелось узнать, как такое провернуть.
 
7,099
324
1,510
Попробуй добавить в блок
Java:
@SideOnly(Side.CLIENT)
public BlockRenderLayer getBlockLayer()
{
    return BlockRenderLayer.CUTOUT;
}
 
341
14
113
7,099
324
1,510
Тогда попробуй переопределить isOpaqueCube, чтобы возвращало false
 
341
14
113
А стекло отбрасывает?
Да, отбрасывает. Даже уровень поглощения цвета самим блоком не влияет(он на нуле).
То есть тень от тайла не зависит ни от чего, кроме как от текстуры самого тайла(прозрачная/непрозрачная), отчего я и в тупике.
 
7,099
324
1,510
Косяки шейдеров, они даже лучу маяка тень добавляют. Тень луча света :m_faceplam: :f_facepalm:
 
341
14
113
Можно попробовать
Проблемы с этим, вероятно и даже точно, что из-за того, что у меня руки не из одного места.
Буду пытаться делать сам, но был бы крайне признателен, если увижу код, который подразумевался.
UPD:
Энивей, сейчас ещё немного погрызу эту стенку и таки-сделаю сообщение лучшим ответом, ибо решение есть и кому-нибудь точно пригодится.
 
341
14
113
Прошу указать на ошибки в данном говнокоде. [Попытался в рефлексию.]

Рендер:
   private void render(TileEntityR tile, double x, double y, double z, float f) {
      GL11.glPushMatrix();
      GL11.glDisable(2896);
      GL11.glTranslated(x, y, z);
      GL11.glTranslatef(0.5F, 0.0F, 0.5F);
      Shaders Shaders = new Shaders();
      try {
     Field field = Shaders.getClass().getDeclaredField("isShadowPass");
      field.setAccessible(true);
      name = (boolean) field.get(Shaders);
      } catch (NoSuchFieldException | IllegalAccessException e) {
       e.printStackTrace();
      }
      if(tile != null) {
         switch(tile.getBlockMetadata()) {
         case 0:
            GL11.glRotatef(180.0F, 0.0F, 1.0F, 0.0F);
            break;
         case 1:
            GL11.glRotatef(90.0F, 0.0F, 1.0F, 0.0F);
            break;
         case 2:
            GL11.glRotatef(0.0F, 0.0F, 1.0F, 0.0F);
            break;
         case 3:
            GL11.glRotatef(270.0F, 0.0F, 1.0F, 0.0F);
         }
      }
      if(name != true) {
      this.bindTexture(texture);
      model.renderAll();
      }
      GL11.glPopMatrix();
   }
Краш:
 Description: Rendering Block Entity

java.lang.IllegalAccessError: tried to access method shadersmod.client.Shaders.<init>()V from class decorations.RenderTileEntityR
 
Сверху