修改标枪渲染
This commit is contained in:
parent
1395e4e047
commit
f9f02c3321
2 changed files with 11 additions and 9 deletions
|
@ -3,7 +3,6 @@ package com.atsuishio.superbwarfare.client.model.item;
|
|||
import com.atsuishio.superbwarfare.Mod;
|
||||
import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||
import com.atsuishio.superbwarfare.item.gun.launcher.JavelinItem;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
@ -12,9 +11,8 @@ import net.minecraft.world.entity.player.Player;
|
|||
import net.minecraft.world.item.ItemStack;
|
||||
import software.bernie.geckolib.animation.AnimationState;
|
||||
import software.bernie.geckolib.cache.object.GeoBone;
|
||||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class JavelinItemModel extends GeoModel<JavelinItem> {
|
||||
public class JavelinItemModel extends CustomGunModel<JavelinItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(JavelinItem animatable) {
|
||||
|
@ -32,15 +30,15 @@ public class JavelinItemModel extends GeoModel<JavelinItem> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public void setCustomAnimations(JavelinItem animatable, long instanceId, AnimationState animationState) {
|
||||
GeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
GeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
GeoBone javelin = getAnimationProcessor().getBone("javelin");
|
||||
|
||||
public void setCustomAnimations(JavelinItem animatable, long instanceId, AnimationState<JavelinItem> animationState) {
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player == null) return;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (!(stack.getItem() instanceof GunItem)) return;
|
||||
if (shouldCancelRender(stack, animationState)) return;
|
||||
|
||||
GeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
GeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
GeoBone javelin = getAnimationProcessor().getBone("javelin");
|
||||
|
||||
float times = 0.6f * (float) Math.min(Minecraft.getInstance().getTimer().getRealtimeDeltaTicks(), 0.8);
|
||||
double zp = ClientEventHandler.zoomPos;
|
||||
|
|
|
@ -31,6 +31,7 @@ import net.minecraft.world.entity.animal.Pig;
|
|||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.inventory.tooltip.TooltipComponent;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.ClipContext;
|
||||
import net.minecraft.world.level.Level;
|
||||
|
@ -40,6 +41,7 @@ import net.neoforged.neoforge.network.PacketDistributor;
|
|||
import org.jetbrains.annotations.NotNull;
|
||||
import org.joml.Vector3d;
|
||||
import software.bernie.geckolib.animation.*;
|
||||
import software.bernie.geckolib.constant.DataTickets;
|
||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
@ -64,6 +66,8 @@ public class JavelinItem extends GunItem {
|
|||
if (player == null) return PlayState.STOP;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
|
||||
if (event.getData(DataTickets.ITEM_RENDER_PERSPECTIVE) != ItemDisplayContext.FIRST_PERSON_RIGHT_HAND)
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.javelin.idle"));
|
||||
|
||||
if (GunData.from(stack).reload.empty()) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.javelin.reload"));
|
||||
|
|
Loading…
Add table
Reference in a new issue