尝试魔改渲染
This commit is contained in:
parent
9b56d6d3e0
commit
d9f341dc3f
4 changed files with 14 additions and 19 deletions
|
@ -5,23 +5,8 @@
|
|||
"gui_light": "front",
|
||||
"loader": "neoforge:separate_transforms",
|
||||
"perspectives": {
|
||||
"fixed": {
|
||||
"parent": "superbwarfare:lod/rpg"
|
||||
},
|
||||
"ground": {
|
||||
"parent": "superbwarfare:lod/rpg"
|
||||
},
|
||||
"gui": {
|
||||
"parent": "superbwarfare:item/rpg_icon"
|
||||
},
|
||||
"head": {
|
||||
"parent": "superbwarfare:lod/rpg"
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"parent": "superbwarfare:lod/rpg"
|
||||
},
|
||||
"thirdperson_righthand": {
|
||||
"parent": "superbwarfare:lod/rpg"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -34,12 +34,12 @@ public class RpgItemRenderer extends CustomGunRenderer<RpgItem> {
|
|||
var player = mc.player;
|
||||
if (player == null) return;
|
||||
ItemStack itemStack = player.getMainHandItem();
|
||||
if (!(itemStack.getItem() instanceof GunItem)) return;
|
||||
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.625, 0.7);
|
||||
if (itemStack.getItem() instanceof GunItem) {
|
||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.625, 0.7);
|
||||
}
|
||||
|
||||
if (renderingArms) {
|
||||
AnimationHelper.renderArms(player, this.transformType, stack, name, bone, this.currentBuffer, type, packedLightIn, false);
|
||||
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);
|
||||
}
|
||||
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
|
||||
}
|
||||
|
|
|
@ -96,6 +96,11 @@ public abstract class GunItem extends Item implements CustomRendererItem, GeoIte
|
|||
return Mth.hsvToRgb((float) f / 3.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isPerspectiveAware() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
public boolean canAttackBlock(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer) {
|
||||
|
|
|
@ -18,11 +18,13 @@ import net.minecraft.world.entity.Entity;
|
|||
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.item.Rarity;
|
||||
import net.minecraft.world.level.Level;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import software.bernie.geckolib.animation.*;
|
||||
import software.bernie.geckolib.constant.DataTickets;
|
||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
|
@ -55,6 +57,9 @@ public class RpgItem extends GunItem {
|
|||
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
|
||||
var data = GunData.from(stack);
|
||||
|
||||
if (event.getData(DataTickets.ITEM_RENDER_PERSPECTIVE) != ItemDisplayContext.FIRST_PERSON_RIGHT_HAND)
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.rpg.idle"));
|
||||
|
||||
if (data.reload.empty()) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlayAndHold("animation.rpg.reload"));
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue