尝试魔改渲染
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",
|
"gui_light": "front",
|
||||||
"loader": "neoforge:separate_transforms",
|
"loader": "neoforge:separate_transforms",
|
||||||
"perspectives": {
|
"perspectives": {
|
||||||
"fixed": {
|
|
||||||
"parent": "superbwarfare:lod/rpg"
|
|
||||||
},
|
|
||||||
"ground": {
|
|
||||||
"parent": "superbwarfare:lod/rpg"
|
|
||||||
},
|
|
||||||
"gui": {
|
"gui": {
|
||||||
"parent": "superbwarfare:item/rpg_icon"
|
"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;
|
var player = mc.player;
|
||||||
if (player == null) return;
|
if (player == null) return;
|
||||||
ItemStack itemStack = player.getMainHandItem();
|
ItemStack itemStack = player.getMainHandItem();
|
||||||
if (!(itemStack.getItem() instanceof GunItem)) return;
|
if (itemStack.getItem() instanceof GunItem) {
|
||||||
|
|
||||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.625, 0.7);
|
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.625, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
if (renderingArms) {
|
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);
|
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);
|
return Mth.hsvToRgb((float) f / 3.0F, 1.0F, 1.0F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPerspectiveAware() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public boolean canAttackBlock(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer) {
|
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.entity.player.Player;
|
||||||
import net.minecraft.world.inventory.tooltip.TooltipComponent;
|
import net.minecraft.world.inventory.tooltip.TooltipComponent;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraft.world.item.Rarity;
|
import net.minecraft.world.item.Rarity;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import software.bernie.geckolib.animation.*;
|
import software.bernie.geckolib.animation.*;
|
||||||
|
import software.bernie.geckolib.constant.DataTickets;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
||||||
|
|
||||||
import javax.annotation.ParametersAreNonnullByDefault;
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
|
@ -55,6 +57,9 @@ public class RpgItem extends GunItem {
|
||||||
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
|
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
|
||||||
var data = GunData.from(stack);
|
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()) {
|
if (data.reload.empty()) {
|
||||||
return event.setAndContinue(RawAnimation.begin().thenPlayAndHold("animation.rpg.reload"));
|
return event.setAndContinue(RawAnimation.begin().thenPlayAndHold("animation.rpg.reload"));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue