提取部分简易GunRenderer

This commit is contained in:
Light_Quanta 2025-07-05 11:16:37 +08:00
parent 636e21a56b
commit 0c24e5f668
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
56 changed files with 143 additions and 836 deletions

View file

@ -0,0 +1,33 @@
package com.atsuishio.superbwarfare.client;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.client.renderer.SimpleGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import software.bernie.geckolib.animatable.GeoAnimatable;
import software.bernie.geckolib.model.GeoModel;
import java.util.function.Supplier;
public class GunRendererBuilder {
public static <T extends GunItem & GeoAnimatable> Supplier<CustomGunRenderer<T>> simple(
Supplier<GeoModel<T>> model,
double x,
double y,
double z,
double size
) {
return simple(model, x, y, z, size, false);
}
public static <T extends GunItem & GeoAnimatable> Supplier<CustomGunRenderer<T>> simple(
Supplier<GeoModel<T>> model,
double x,
double y,
double z,
double size,
boolean useOldHandRender
) {
return () -> new SimpleGunRenderer<>(model.get(), x, y, z, size, useOldHandRender);
}
}

View file

@ -1,10 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
package com.atsuishio.superbwarfare.client.renderer;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M2HBItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.machinegun.M2HBItem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
@ -12,17 +9,31 @@ import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoAnimatable;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.model.GeoModel;
public class M2HBItemRenderer extends CustomGunRenderer<M2HBItem> {
public class SimpleGunRenderer<T extends GunItem & GeoAnimatable> extends CustomGunRenderer<T> {
public M2HBItemRenderer() {
super(new M2HBItemModel());
private final double x;
private final double y;
private final double z;
private final double size;
private final boolean useOldHandRenderer;
public SimpleGunRenderer(GeoModel<T> model, double x, double y, double z, double size, boolean useOldHandRenderer) {
super(model);
this.x = x;
this.y = y;
this.z = z;
this.size = size;
this.useOldHandRenderer = useOldHandRenderer;
}
@Override
public void renderRecursively(PoseStack stack, M2HBItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
public void renderRecursively(PoseStack poseStack, T animatable, GeoBone bone, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, int colour) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
@ -39,13 +50,14 @@ public class M2HBItemRenderer extends CustomGunRenderer<M2HBItem> {
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0.1, 2.95, 1.2);
AnimationHelper.handleShootFlare(name, poseStack, itemStack, bone, bufferSource, packedLight, this.x, this.y, this.z, this.size);
}
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, false);
AnimationHelper.renderArms(player, this.renderPerspective, poseStack, name, bone, bufferSource, renderType, packedLight, this.useOldHandRenderer);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
super.renderRecursively(poseStack, animatable, bone, renderType, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, colour);
}
}

View file

@ -1,48 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Aa12ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.shotgun.Aa12Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class Aa12ItemRenderer extends CustomGunRenderer<Aa12Item> {
public Aa12ItemRenderer() {
super(new Aa12ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, Aa12Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.31465, 0.5);
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,47 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.AureliaSceptreModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.AureliaSceptre;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class AureliaSceptreRenderer extends CustomGunRenderer<AureliaSceptre> {
public AureliaSceptreRenderer() {
super(new AureliaSceptreModel());
}
@Override
public void renderRecursively(PoseStack stack, AureliaSceptre animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3);
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, this.currentBuffer, type, packedLightIn, false);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,50 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Glock17ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.Glock17Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class Glock17ItemRenderer extends CustomGunRenderer<Glock17Item> {
public Glock17ItemRenderer() {
super(new Glock17ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, Glock17Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,50 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Glock18ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.Glock18Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class Glock18ItemRenderer extends CustomGunRenderer<Glock18Item> {
public Glock18ItemRenderer() {
super(new Glock18ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, Glock18Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.3022, 0.3);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.HomemadeShotgunItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.shotgun.HomemadeShotgunItem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class HomemadeShotgunItemRenderer extends CustomGunRenderer<HomemadeShotgunItem> {
public HomemadeShotgunItemRenderer() {
super(new HomemadeShotgunItemModel());
}
@Override
public void renderRecursively(PoseStack stack, HomemadeShotgunItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0.05, 0.25, 1.2);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.HuntingRifleItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.sniper.HuntingRifleItem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class HuntingRifleItemRenderer extends CustomGunRenderer<HuntingRifleItem> {
public HuntingRifleItemRenderer() {
super(new HuntingRifleItemModel());
}
@Override
public void renderRecursively(PoseStack stack, HuntingRifleItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 2.234375, 0.6);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.K98ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.sniper.K98Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class K98ItemRenderer extends CustomGunRenderer<K98Item> {
public K98ItemRenderer() {
super(new K98ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, K98Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.9772, 0.4);
}
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,50 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M1911ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.M1911Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class M1911ItemRenderer extends CustomGunRenderer<M1911Item> {
public M1911ItemRenderer() {
super(new M1911ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, M1911Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.442825, 0.35);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M60ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.machinegun.M60Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class M60ItemRenderer extends CustomGunRenderer<M60Item> {
public M60ItemRenderer() {
super(new M60ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, M60Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0.1, 1.95, 0.45);
}
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M79ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.launcher.M79Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class M79ItemRenderer extends CustomGunRenderer<M79Item> {
public M79ItemRenderer() {
super(new M79ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, M79Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.59375, 1);
}
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M870ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.shotgun.M870Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class M870ItemRenderer extends CustomGunRenderer<M870Item> {
public M870ItemRenderer() {
super(new M870ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, M870Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.4209, 0.8);
}
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.MarlinItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.rifle.MarlinItem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class MarlinItemRenderer extends CustomGunRenderer<MarlinItem> {
public MarlinItemRenderer() {
super(new MarlinItemModel());
}
@Override
public void renderRecursively(PoseStack stack, MarlinItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.33720625, 0.4);
}
}
if (renderingArms) {
AnimationHelper.renderArms(player, this.renderPerspective, stack, name, bone, buffer, type, packedLightIn, true);
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color);
}
}

View file

@ -1,50 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class Mp443ItemRenderer extends CustomGunRenderer<Mp443Item> {
public Mp443ItemRenderer() {
super(new Mp443ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, Mp443Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.33345, 0.3);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.RpgItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.launcher.RpgItem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class RpgItemRenderer extends CustomGunRenderer<RpgItem> {
public RpgItemRenderer() {
super(new RpgItemModel());
}
@Override
public void renderRecursively(PoseStack stack, RpgItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.625, 0.7);
}
}
if (renderingArms) {
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);
}
}

View file

@ -1,51 +0,0 @@
package com.atsuishio.superbwarfare.client.renderer.gun;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.SecondaryCataclysmModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.launcher.SecondaryCataclysm;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class SecondaryCataclysmRenderer extends CustomGunRenderer<SecondaryCataclysm> {
public SecondaryCataclysmRenderer() {
super(new SecondaryCataclysmModel());
}
@Override
public void renderRecursively(PoseStack stack, SecondaryCataclysm animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(false);
}
var player = mc.player;
if (player == null) return;
ItemStack itemStack = player.getMainHandItem();
if (itemStack.getItem() instanceof GunItem && GeoItem.getId(itemStack) == this.getInstanceId(animatable)) {
if (this.renderPerspective == ItemDisplayContext.FIRST_PERSON_RIGHT_HAND || this.renderPerspective == ItemDisplayContext.THIRD_PERSON_RIGHT_HAND) {
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.0375, 0.6);
}
}
if (renderingArms) {
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);
}
}

View file

@ -6,5 +6,5 @@ import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.function.Supplier;
public interface CustomRendererItem {
Supplier<GeoItemRenderer<? extends Item>> getRenderer();
Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer();
}

View file

@ -1,8 +1,9 @@
package com.atsuishio.superbwarfare.item.gun.handgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.TooltipTool;
import com.atsuishio.superbwarfare.client.renderer.gun.AureliaSceptreRenderer;
import com.atsuishio.superbwarfare.client.model.item.AureliaSceptreModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
@ -39,8 +40,8 @@ public class AureliaSceptre extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return AureliaSceptreRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(AureliaSceptreModel::new, 0, 0, 0.3022, 0.3);
}
@OnlyIn(Dist.CLIENT)

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.handgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.Glock17ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.Glock17ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -30,8 +31,8 @@ public class Glock17Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return Glock17ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(Glock17ItemModel::new, 0, 0, 0.3022, 0.3);
}
private PlayState fireAnimPredicate(AnimationState<Glock17Item> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.handgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.Glock18ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.Glock18ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -30,8 +31,8 @@ public class Glock18Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return Glock18ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(Glock18ItemModel::new, 0, 0, 0.3022, 0.3);
}
private PlayState fireAnimPredicate(AnimationState<Glock18Item> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.handgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.M1911ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.M1911ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -30,8 +31,8 @@ public class M1911Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M1911ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(M1911ItemModel::new, 0, 0, 0.442825, 0.35);
}
private PlayState fireAnimPredicate(AnimationState<M1911Item> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.handgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.Mp443ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -30,8 +31,8 @@ public class Mp443Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return Mp443ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(Mp443ItemModel::new, 0, 0, 0.33345, 0.3);
}
private PlayState fireAnimPredicate(AnimationState<Mp443Item> event) {

View file

@ -41,7 +41,7 @@ public class Trachelium extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return TracheliumItemRenderer::new;
}

View file

@ -37,7 +37,7 @@ public class Ntw20Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return Ntw20Renderer::new;
}

View file

@ -58,7 +58,7 @@ public class JavelinItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return JavelinItemRenderer::new;
}

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.launcher;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.M79ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.M79ItemModel;
import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
@ -42,8 +43,8 @@ public class M79Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M79ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(M79ItemModel::new, 0, 0, 0.59375, 1, true);
}
private PlayState idlePredicate(AnimationState<M79Item> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.launcher;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.RpgItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.RpgItemModel;
import com.atsuishio.superbwarfare.client.tooltip.component.LauncherImageComponent;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
@ -47,8 +48,8 @@ public class RpgItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return RpgItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(RpgItemModel::new, 0, 0, 0.625, 0.7);
}
private PlayState idlePredicate(AnimationState<RpgItem> event) {

View file

@ -1,8 +1,9 @@
package com.atsuishio.superbwarfare.item.gun.launcher;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.TooltipTool;
import com.atsuishio.superbwarfare.client.renderer.gun.SecondaryCataclysmRenderer;
import com.atsuishio.superbwarfare.client.model.item.SecondaryCataclysmModel;
import com.atsuishio.superbwarfare.client.tooltip.component.SecondaryCataclysmImageComponent;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity;
@ -83,8 +84,8 @@ public class SecondaryCataclysm extends GunItem implements EnergyStorageItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return SecondaryCataclysmRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(SecondaryCataclysmModel::new, 0, 0, 1.0375, 0.6);
}
private PlayState reloadAnimPredicate(AnimationState<SecondaryCataclysm> event) {

View file

@ -28,7 +28,7 @@ public class DevotionItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return DevotionItemRenderer::new;
}

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.machinegun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.M2HBItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.M2HBItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
@ -38,8 +39,8 @@ public class M2HBItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M2HBItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(M2HBItemModel::new, 0, 0.1, 2.95, 1.2);
}
@Override

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.machinegun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.M60ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.M60ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -34,8 +35,8 @@ public class M60Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M60ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(M60ItemModel::new, 0, 0.1, 1.95, 0.45, true);
}
private PlayState fireAnimPredicate(AnimationState<M60Item> event) {

View file

@ -35,7 +35,7 @@ public class MinigunItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return MinigunItemRenderer::new;
}

View file

@ -35,7 +35,7 @@ public class RpkItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return RpkItemRenderer::new;
}

View file

@ -37,7 +37,7 @@ public class AK12Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return AK12ItemRenderer::new;
}

View file

@ -36,7 +36,7 @@ public class AK47Item extends GunItem {
return Set.of(ModSounds.AK_47_RELOAD_EMPTY.get(), ModSounds.AK_47_RELOAD_NORMAL.get());
}
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return AK47ItemRenderer::new;
}

View file

@ -32,7 +32,7 @@ public class Hk416Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return Hk416ItemRenderer::new;
}

View file

@ -28,7 +28,7 @@ public class InsidiousItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return InsidiousItemRenderer::new;
}

View file

@ -32,7 +32,7 @@ public class M4Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return M4ItemRenderer::new;
}

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.rifle;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.MarlinItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.MarlinItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -28,8 +29,8 @@ public class MarlinItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return MarlinItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(MarlinItemModel::new, 0, 0, 1.33720625, 0.4, true);
}
private PlayState fireAnimPredicate(AnimationState<MarlinItem> event) {

View file

@ -34,7 +34,7 @@ public class Mk14Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return Mk14ItemRenderer::new;
}

View file

@ -37,7 +37,7 @@ public class Qbz95Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return Qbz95ItemRenderer::new;
}

View file

@ -38,7 +38,7 @@ public class SksItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return SksItemRenderer::new;
}

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.shotgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.Aa12ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.Aa12ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
@ -28,8 +29,8 @@ public class Aa12Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return Aa12ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(Aa12ItemModel::new, 0, 0, 1.31465, 0.5, true);
}
private PlayState idlePredicate(AnimationState<Aa12Item> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.shotgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.HomemadeShotgunItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.HomemadeShotgunItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -57,8 +58,8 @@ public class HomemadeShotgunItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return HomemadeShotgunItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(HomemadeShotgunItemModel::new, 0, 0.05, 0.25, 1.2);
}
private PlayState idlePredicate(AnimationState<HomemadeShotgunItem> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.shotgun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.M870ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.M870ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -28,8 +29,8 @@ public class M870Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M870ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(M870ItemModel::new, 0, 0, 1.4209, 0.8, true);
}
private PlayState fireAnimPredicate(AnimationState<M870Item> event) {

View file

@ -34,7 +34,7 @@ public class Mp5Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return Mp5ItemRenderer::new;
}

View file

@ -94,7 +94,7 @@ public class VectorItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return VectorItemRenderer::new;
}

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.sniper;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.HuntingRifleItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.HuntingRifleItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -33,8 +34,8 @@ public class HuntingRifleItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return HuntingRifleItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(HuntingRifleItemModel::new, 0, 0, 2.234375, 0.6);
}
private PlayState idlePredicate(AnimationState<HuntingRifleItem> event) {

View file

@ -1,7 +1,8 @@
package com.atsuishio.superbwarfare.item.gun.sniper;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.K98ItemRenderer;
import com.atsuishio.superbwarfare.client.GunRendererBuilder;
import com.atsuishio.superbwarfare.client.model.item.K98ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModSounds;
@ -28,8 +29,8 @@ public class K98Item extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return K98ItemRenderer::new;
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return GunRendererBuilder.simple(K98ItemModel::new, 0, 0, 1.9772, 0.4, true);
}
private PlayState fireAnimPredicate(AnimationState<K98Item> event) {

View file

@ -35,7 +35,7 @@ public class M98bItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return M98bItemRenderer::new;
}

View file

@ -28,7 +28,7 @@ public class MosinNagantItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return MosinNagantItemRenderer::new;
}

View file

@ -55,7 +55,7 @@ public class SentinelItem extends GunItem implements EnergyStorageItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return SentinelItemRenderer::new;
}

View file

@ -34,7 +34,7 @@ public class SvdItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return SvdItemRenderer::new;
}

View file

@ -45,7 +45,7 @@ public class BocekItem extends GunItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return BocekItemRenderer::new;
}

View file

@ -68,7 +68,7 @@ public class TaserItem extends GunItem implements EnergyStorageItem {
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
public Supplier<? extends GeoItemRenderer<? extends Item>> getRenderer() {
return TaserItemRenderer::new;
}