@SubscribeEvent public void onFOVUpdateEvent(FOVUpdateEvent evt) { if (evt.getEntity().getItemStackFromSlot(EntityEquipmentSlot.FEET) != null && evt.getEntity().getItemStackFromSlot(EntityEquipmentSlot.FEET).getItem() == ObjHandler.gemFeet) { evt.setNewfov(evt.getFov() - 0.4F); } }
/* protected int getModelVariation(int useTime) { if(useTime >= 21) { return 2; } else if(useTime > 10) { return 1; } else { return 0; } } */ @SubscribeEvent public void fovUpdate(FOVUpdateEvent event) { if (event.getEntity() instanceof EntityPlayer) { if (event.getEntity().isHandActive() && event.getEntity().getActiveItemStack().getItem() == this) { float fovModifier = getNewFovModifier( event .getEntity() .getItemInUseMaxCount()); // getItemInUseMaxCount() seems to be mis-named. // functionally, it is like the old // getItemUseDuration() float fov = 1.0f; fov *= 1.0F - fovModifier * 0.15F; // MEMLogger.info("ItemCustomBow fovUpdate(): itemUseDuration = " + // event.entity.getItemInUseDuration() + "; fovModifier = " + fovModifier + "; newfov = " + // fov); event.setNewfov(fov); } } }