Jump to content

[1.15.2] Zoom effect in


ShawnRG

Recommended Posts

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 by ShawnRG
Link to comment
Share on other sites

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.

  • Thanks 1

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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");
    }
}

 

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.