Posted April 7, 20205 yr Hi, I'm trying to create a simple binoculars item that when I right click, i change the zoom of the camera. I've found some suggestions to post a custom FOVUpdateEvent on the MinecraftForge event bus but i don't seem to get any change reflecting in my client. @Nonnull @Override public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, @Nonnull Hand handIn) { ItemStack heldItem = playerIn.getHeldItem(handIn); FOVUpdateEvent updateEvent = new FOVUpdateEvent(playerIn, 0.9F); MinecraftForge.EVENT_BUS.post(updateEvent); return new ActionResult<>(ActionResultType.SUCCESS, heldItem); } PS: If you have other suggestions to create my desired effect, let me know! Kind regards Edited April 7, 20205 yr by ShawnRG
April 7, 20205 yr 2 hours ago, ShawnRG said: I've found some suggestions to post a custom FOVUpdateEvent on the MinecraftForge event bus Posting an event to the event bus doesn't do what you want. You should instead subcscribe to the FOVUpdateEvent. Read the documentation on events here. VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
April 7, 20205 yr Author 7 minutes ago, Animefan8888 said: Posting an event to the event bus doesn't do what you want. You should instead subcscribe to the FOVUpdateEvent. Read the documentation on events here. Is the FOVUpdateEvent something that happens every frame?
April 7, 20205 yr 2 minutes ago, ShawnRG said: Is the FOVUpdateEvent something that happens every frame? It's called every tick. VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect. Forge and vanilla BlockState generator.
April 7, 20205 yr Author Is there a reason why this doesn't work? @Mod.EventBusSubscriber public class FOVUpdate { private static final Logger LOGGER = LogManager.getLogger(); @SubscribeEvent public void onFOVUpdate(final FOVUpdateEvent updateEvent) { LOGGER.warn("Updating FOV"); } }
April 7, 20205 yr Author 1 minute ago, ShawnRG said: Is there a reason why this doesn't work? @Mod.EventBusSubscriber public class FOVUpdate { private static final Logger LOGGER = LogManager.getLogger(); @SubscribeEvent public void onFOVUpdate(final FOVUpdateEvent updateEvent) { LOGGER.warn("Updating FOV"); } } Nvm I'm dumb the method should be static. All is good!
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.