Слепота

1,683
2
Как работает этот эффект(я о затемнении)? И где можно порыть код?
 
Можно примерно так сделать:
Код:
MinecraftForge.EVENT_BUS.register(new EventClient());
Код:
public class EventClient {

    @SubscribeEvent
    public void fogDistance(EntityViewRenderEvent.RenderFogEvent e) {
        float f1 = e.farPlaneDistance;
        EntityPlayer player = Minecraft.getMinecraft().thePlayer;
        ItemStack current = player.getCurrentEquippedItem();

        if (current != null) {
            if (current.getItem() == Items.nether_star) {
                GL11.glFogf(GL11.GL_FOG_START, 0.7F);//Начало тумана
                GL11.glFogf(GL11.GL_FOG_END, 3.5F);//Конец (и далее) тумана
            }
        }

    }

    @SubscribeEvent
    public void fogColor(EntityViewRenderEvent.FogColors e) {
        EntityPlayer player = Minecraft.getMinecraft().thePlayer;
        ItemStack current = player.getCurrentEquippedItem();

        if (current != null) {
            if (current.getItem() == Items.nether_star) {
                e.red = 0.00F;/*0.0F - 1.0F: по красному каналу цвета*/
                e.green = 0.01F;/*0.0F - 1.0F: по зелёному каналу цвета*/
                e.blue = 0.02F;/*0.0F - 1.0F: по синиму каналу цвета*/
            }
        }

    }

}
 
Ага, только на клиентской стороне.
 
CoomingSoon написал(а):

Код:
@SubscribeEvent
public void onPlayerTick(EntityViewRenderEvent.FogDensity e) {
   if(worldObj.getWorldInfo().isRaining())
   {
      e.density = 0.035F;
   }
   else if(worldObj.getWorldInfo().isThundering())
   {
      e.density = 0.065F;
   }
   return;
}

Код:
java.lang.NullPointerException
    at derelanadeCode.lostzone.common.events.LDEventHandler.onPlayerTick
 
сделай такую проверку iworldObj != null && worldObj.getWorldInfo().isRaining()
[merge_posts_bbcode]Добавлено: 04.10.2015 16:08:08[/merge_posts_bbcode]

И кстать где ты достаешь worldObj??
 
Да, надо бы :D Но сначала надо допилить небольшую обнову и все запустить в массы, а потом уже нормально ее учить)
[merge_posts_bbcode]Добавлено: 04.10.2015 16:35:38[/merge_posts_bbcode]

Дальше больше - при изменении погоды туман не убирается :D
 
else{
обратное возвращение твоего тумана
}
[merge_posts_bbcode]Добавлено: 04.10.2015 16:45:15[/merge_posts_bbcode]

Код:
 if(worldObj.getWorldInfo().isRaining())
   {
      e.density = 0.035F;
   }else{
// твой код
}
 
Выяснилось, что состояния меняются, а туман нет.

Код:
@SubscribeEvent
public void onPlayerTick(EntityViewRenderEvent.FogDensity e) {
   Minecraft mc = Minecraft.getMinecraft();
   World world = mc.renderViewEntity.worldObj;
   if (world != null && world.getWorldInfo().isRaining()) {
      e.density = 0.95F;
      e.setCanceled(true);
       System.out.println("COCKDICK");
   }
   else{
      e.setCanceled(false);
       System.out.println("COCK123123123DICK");
   }
   /*else if(worldObj.getWorldInfo().isThundering())
   {
      e.density = 0.065F;
   }
   else if(!worldObj.getWorldInfo().isThundering()){
      e.setCanceled(true);
   }
   if(!worldObj.getWorldInfo().isRaining()){
      e.setCanceled(true);
   }*/
}
 
Решил отменять туман при любом значении? xD
[merge_posts_bbcode]Добавлено: 04.10.2015 16:59:05[/merge_posts_bbcode]

Решил отменять туман при любом значении? xD
 
Назад
Сверху