superb-warfare/src/main/java/net/mcreator/target/client/RenderHandler.java
2024-05-05 15:44:33 +08:00

36 lines
1.2 KiB
Java

package net.mcreator.target.client;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.ViewportEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public class RenderHandler {
@SubscribeEvent
public static void onFovUpdate(ViewportEvent.ComputeFov event) {
if (!event.usedConfiguredFov()) {
return;
}
Player player = Minecraft.getInstance().player;
if (player != null) {
ItemStack stack = player.getMainHandItem();
double p = player.getPersistentData().getDouble("zoompos");
double zoom = stack.getOrCreateTag().getDouble("zoom");
if (stack.is(ItemTags.create(new ResourceLocation("target:gun")))) {
event.setFOV(event.getFOV() / (1.0 + p * (zoom - 1)));
player.getPersistentData().putDouble("fov", event.getFOV());
}
}
}
}