添加其他包

This commit is contained in:
17146 2024-09-09 00:37:58 +08:00
parent 0a9659d3d8
commit 0fdc5cb086
47 changed files with 245 additions and 265 deletions

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.Glock17Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.Glock18Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.HuntingRifle; import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;
@ -12,15 +12,15 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class HuntingRifleLayer extends GeoRenderLayer<HuntingRifle> { public class HuntingRifleLayer extends GeoRenderLayer<HuntingRifleItem> {
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle_e.png"); private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle_e.png");
public HuntingRifleLayer(GeoRenderer<HuntingRifle> entityRenderer) { public HuntingRifleLayer(GeoRenderer<HuntingRifleItem> entityRenderer) {
super(entityRenderer); super(entityRenderer);
} }
@Override @Override
public void render(PoseStack poseStack, HuntingRifle animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { public void render(PoseStack poseStack, HuntingRifleItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER); RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
} }

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.K98Item; import net.mcreator.superbwarfare.item.gun.sniper.K98Item;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.M1911Item; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.M98bItem; import net.mcreator.superbwarfare.item.gun.sniper.M98bItem;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.MosinNagantItem; import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.Ntw20; import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;
@ -12,15 +12,15 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class Ntw20Layer extends GeoRenderLayer<Ntw20> { public class Ntw20Layer extends GeoRenderLayer<Ntw20Item> {
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20_e.png"); private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20_e.png");
public Ntw20Layer(GeoRenderer<Ntw20> entityRenderer) { public Ntw20Layer(GeoRenderer<Ntw20Item> entityRenderer) {
super(entityRenderer); super(entityRenderer);
} }
@Override @Override
public void render(PoseStack poseStack, Ntw20 animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { public void render(PoseStack poseStack, Ntw20Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER); RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1); getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
} }

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.SentinelItem; import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.SvdItem; import net.mcreator.superbwarfare.item.gun.sniper.SvdItem;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -3,7 +3,7 @@ package net.mcreator.superbwarfare.client.layer;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.Trachelium; import net.mcreator.superbwarfare.item.gun.handgun.Trachelium;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture; import net.minecraft.client.renderer.texture.OverlayTexture;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.Glock17Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.Glock18Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.HuntingRifle; import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
@ -12,24 +12,24 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel; import software.bernie.geckolib.model.GeoModel;
public class HuntingRifleItemModel extends GeoModel<HuntingRifle> { public class HuntingRifleItemModel extends GeoModel<HuntingRifleItem> {
@Override @Override
public ResourceLocation getAnimationResource(HuntingRifle animatable) { public ResourceLocation getAnimationResource(HuntingRifleItem animatable) {
return new ResourceLocation(ModUtils.MODID, "animations/hunting_rifle.animation.json"); return new ResourceLocation(ModUtils.MODID, "animations/hunting_rifle.animation.json");
} }
@Override @Override
public ResourceLocation getModelResource(HuntingRifle animatable) { public ResourceLocation getModelResource(HuntingRifleItem animatable) {
return new ResourceLocation(ModUtils.MODID, "geo/hunting_rifle.geo.json"); return new ResourceLocation(ModUtils.MODID, "geo/hunting_rifle.geo.json");
} }
@Override @Override
public ResourceLocation getTextureResource(HuntingRifle animatable) { public ResourceLocation getTextureResource(HuntingRifleItem animatable) {
return new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle.png"); return new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle.png");
} }
@Override @Override
public void setCustomAnimations(HuntingRifle animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(HuntingRifleItem animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone shen = getAnimationProcessor().getBone("lieqiang"); CoreGeoBone shen = getAnimationProcessor().getBone("lieqiang");

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.K98Item; import net.mcreator.superbwarfare.item.gun.sniper.K98Item;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.M1911Item; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.M98bItem; import net.mcreator.superbwarfare.item.gun.sniper.M98bItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.MosinNagantItem; import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.Ntw20; import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
@ -13,24 +13,24 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel; import software.bernie.geckolib.model.GeoModel;
public class Ntw20Model extends GeoModel<Ntw20> { public class Ntw20Model extends GeoModel<Ntw20Item> {
@Override @Override
public ResourceLocation getAnimationResource(Ntw20 animatable) { public ResourceLocation getAnimationResource(Ntw20Item animatable) {
return new ResourceLocation(ModUtils.MODID, "animations/ntw_20.animation.json"); return new ResourceLocation(ModUtils.MODID, "animations/ntw_20.animation.json");
} }
@Override @Override
public ResourceLocation getModelResource(Ntw20 animatable) { public ResourceLocation getModelResource(Ntw20Item animatable) {
return new ResourceLocation(ModUtils.MODID, "geo/ntw_20.geo.json"); return new ResourceLocation(ModUtils.MODID, "geo/ntw_20.geo.json");
} }
@Override @Override
public ResourceLocation getTextureResource(Ntw20 animatable) { public ResourceLocation getTextureResource(Ntw20Item animatable) {
return new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20.png"); return new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20.png");
} }
@Override @Override
public void setCustomAnimations(Ntw20 animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(Ntw20Item animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
CoreGeoBone scope = getAnimationProcessor().getBone("scope"); CoreGeoBone scope = getAnimationProcessor().getBone("scope");

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.SentinelItem; import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.SvdItem; import net.mcreator.superbwarfare.item.gun.sniper.SvdItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;

View file

@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.client.model.item;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.gun.Trachelium; import net.mcreator.superbwarfare.item.gun.handgun.Trachelium;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.Glock17Layer; import net.mcreator.superbwarfare.client.layer.Glock17Layer;
import net.mcreator.superbwarfare.client.model.item.Glock17ItemModel; import net.mcreator.superbwarfare.client.model.item.Glock17ItemModel;
import net.mcreator.superbwarfare.item.gun.Glock17Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PlayerModel;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.Glock18Layer; import net.mcreator.superbwarfare.client.layer.Glock18Layer;
import net.mcreator.superbwarfare.client.model.item.Glock18ItemModel; import net.mcreator.superbwarfare.client.model.item.Glock18ItemModel;
import net.mcreator.superbwarfare.item.gun.Glock18Item; import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PlayerModel;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.HuntingRifleLayer; import net.mcreator.superbwarfare.client.layer.HuntingRifleLayer;
import net.mcreator.superbwarfare.client.model.item.HuntingRifleItemModel; import net.mcreator.superbwarfare.client.model.item.HuntingRifleItemModel;
import net.mcreator.superbwarfare.item.gun.HuntingRifle; import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PlayerModel;
@ -25,14 +25,14 @@ import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifle> { public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifleItem> {
public HuntingRifleItemRenderer() { public HuntingRifleItemRenderer() {
super(new HuntingRifleItemModel()); super(new HuntingRifleItemModel());
this.addRenderLayer(new HuntingRifleLayer(this)); this.addRenderLayer(new HuntingRifleLayer(this));
} }
@Override @Override
public RenderType getRenderType(HuntingRifle animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { public RenderType getRenderType(HuntingRifleItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable)); return RenderType.entityTranslucent(getTextureLocation(animatable));
} }
@ -41,7 +41,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifle> {
protected MultiBufferSource currentBuffer; protected MultiBufferSource currentBuffer;
protected RenderType renderType; protected RenderType renderType;
public ItemDisplayContext transformType; public ItemDisplayContext transformType;
protected HuntingRifle animatable; protected HuntingRifleItem animatable;
private final Set<String> hiddenBones = new HashSet<>(); private final Set<String> hiddenBones = new HashSet<>();
@Override @Override
@ -53,7 +53,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifle> {
} }
@Override @Override
public void actuallyRender(PoseStack matrixStackIn, HuntingRifle animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, public void actuallyRender(PoseStack matrixStackIn, HuntingRifleItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) { int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer; this.currentBuffer = renderTypeBuffer;
this.renderType = type; this.renderType = type;
@ -65,7 +65,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifle> {
} }
@Override @Override
public void renderRecursively(PoseStack stack, HuntingRifle animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, public void renderRecursively(PoseStack stack, HuntingRifleItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) { float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance(); Minecraft mc = Minecraft.getInstance();
String name = bone.getName(); String name = bone.getName();
@ -128,7 +128,7 @@ public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifle> {
} }
@Override @Override
public ResourceLocation getTextureLocation(HuntingRifle instance) { public ResourceLocation getTextureLocation(HuntingRifleItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);
} }
} }

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.K98Layer; import net.mcreator.superbwarfare.client.layer.K98Layer;
import net.mcreator.superbwarfare.client.model.item.K98ItemModel; import net.mcreator.superbwarfare.client.model.item.K98ItemModel;
import net.mcreator.superbwarfare.item.gun.K98Item; import net.mcreator.superbwarfare.item.gun.sniper.K98Item;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PlayerModel;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.M1911Layer; import net.mcreator.superbwarfare.client.layer.M1911Layer;
import net.mcreator.superbwarfare.client.model.item.M1911ItemModel; import net.mcreator.superbwarfare.client.model.item.M1911ItemModel;
import net.mcreator.superbwarfare.item.gun.M1911Item; import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PlayerModel;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.M98bLayer; import net.mcreator.superbwarfare.client.layer.M98bLayer;
import net.mcreator.superbwarfare.client.model.item.M98bItemModel; import net.mcreator.superbwarfare.client.model.item.M98bItemModel;
import net.mcreator.superbwarfare.item.gun.M98bItem; import net.mcreator.superbwarfare.item.gun.sniper.M98bItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.MosinNagantLayer; import net.mcreator.superbwarfare.client.layer.MosinNagantLayer;
import net.mcreator.superbwarfare.client.model.item.MosinNagantItemModel; import net.mcreator.superbwarfare.client.model.item.MosinNagantItemModel;
import net.mcreator.superbwarfare.item.gun.MosinNagantItem; import net.mcreator.superbwarfare.item.gun.sniper.MosinNagantItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.Ntw20Layer; import net.mcreator.superbwarfare.client.layer.Ntw20Layer;
import net.mcreator.superbwarfare.client.model.item.Ntw20Model; import net.mcreator.superbwarfare.client.model.item.Ntw20Model;
import net.mcreator.superbwarfare.item.gun.Ntw20; import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -26,14 +26,14 @@ import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
public class Ntw20Renderer extends GeoItemRenderer<Ntw20> { public class Ntw20Renderer extends GeoItemRenderer<Ntw20Item> {
public Ntw20Renderer() { public Ntw20Renderer() {
super(new Ntw20Model()); super(new Ntw20Model());
this.addRenderLayer(new Ntw20Layer(this)); this.addRenderLayer(new Ntw20Layer(this));
} }
@Override @Override
public RenderType getRenderType(Ntw20 animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { public RenderType getRenderType(Ntw20Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable)); return RenderType.entityTranslucent(getTextureLocation(animatable));
} }
@ -42,7 +42,7 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20> {
protected MultiBufferSource currentBuffer; protected MultiBufferSource currentBuffer;
protected RenderType renderType; protected RenderType renderType;
public ItemDisplayContext transformType; public ItemDisplayContext transformType;
protected Ntw20 animatable; protected Ntw20Item animatable;
private final Set<String> hiddenBones = new HashSet<>(); private final Set<String> hiddenBones = new HashSet<>();
private final Set<String> suppressedBones = new HashSet<>(); private final Set<String> suppressedBones = new HashSet<>();
@ -55,7 +55,7 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20> {
} }
@Override @Override
public void actuallyRender(PoseStack matrixStackIn, Ntw20 animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, public void actuallyRender(PoseStack matrixStackIn, Ntw20Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) { int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer; this.currentBuffer = renderTypeBuffer;
this.renderType = type; this.renderType = type;
@ -67,7 +67,7 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20> {
} }
@Override @Override
public void renderRecursively(PoseStack stack, Ntw20 animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, public void renderRecursively(PoseStack stack, Ntw20Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) { float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance(); Minecraft mc = Minecraft.getInstance();
String name = bone.getName(); String name = bone.getName();
@ -143,7 +143,7 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20> {
} }
@Override @Override
public ResourceLocation getTextureLocation(Ntw20 instance) { public ResourceLocation getTextureLocation(Ntw20Item instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);
} }
} }

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.SentinelLayer; import net.mcreator.superbwarfare.client.layer.SentinelLayer;
import net.mcreator.superbwarfare.client.model.item.SentinelItemModel; import net.mcreator.superbwarfare.client.model.item.SentinelItemModel;
import net.mcreator.superbwarfare.item.gun.SentinelItem; import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.SvdLayer; import net.mcreator.superbwarfare.client.layer.SvdLayer;
import net.mcreator.superbwarfare.client.model.item.SvdItemModel; import net.mcreator.superbwarfare.client.model.item.SvdItemModel;
import net.mcreator.superbwarfare.item.gun.SvdItem; import net.mcreator.superbwarfare.item.gun.sniper.SvdItem;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;

View file

@ -4,7 +4,7 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.TracheliumLayer; import net.mcreator.superbwarfare.client.layer.TracheliumLayer;
import net.mcreator.superbwarfare.client.model.item.TracheliumItemModel; import net.mcreator.superbwarfare.client.model.item.TracheliumItemModel;
import net.mcreator.superbwarfare.item.gun.Trachelium; import net.mcreator.superbwarfare.item.gun.handgun.Trachelium;
import net.mcreator.superbwarfare.tools.AnimUtils; import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel; import net.minecraft.client.model.PlayerModel;

View file

@ -6,7 +6,12 @@ import net.mcreator.superbwarfare.item.common.BlueprintItem;
import net.mcreator.superbwarfare.item.common.MaterialPack; import net.mcreator.superbwarfare.item.common.MaterialPack;
import net.mcreator.superbwarfare.item.common.ammo.*; import net.mcreator.superbwarfare.item.common.ammo.*;
import net.mcreator.superbwarfare.item.gun.*; import net.mcreator.superbwarfare.item.gun.*;
import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
import net.mcreator.superbwarfare.item.gun.handgun.Trachelium;
import net.mcreator.superbwarfare.item.gun.rifle.*; import net.mcreator.superbwarfare.item.gun.rifle.*;
import net.mcreator.superbwarfare.item.gun.sniper.*;
import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.RarityTool;
import net.minecraft.world.item.BlockItem; import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
@ -47,8 +52,8 @@ public class ModItems {
public static final RegistryObject<Item> SVD = GUNS.register("svd", SvdItem::new); public static final RegistryObject<Item> SVD = GUNS.register("svd", SvdItem::new);
public static final RegistryObject<Item> M_98B = GUNS.register("m_98b", M98bItem::new); public static final RegistryObject<Item> M_98B = GUNS.register("m_98b", M98bItem::new);
public static final RegistryObject<Item> SENTINEL = GUNS.register("sentinel", SentinelItem::new); public static final RegistryObject<Item> SENTINEL = GUNS.register("sentinel", SentinelItem::new);
public static final RegistryObject<Item> HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifle::new); public static final RegistryObject<Item> HUNTING_RIFLE = GUNS.register("hunting_rifle", HuntingRifleItem::new);
public static final RegistryObject<Item> NTW_20 = GUNS.register("ntw_20", Ntw20::new); public static final RegistryObject<Item> NTW_20 = GUNS.register("ntw_20", Ntw20Item::new);
public static final RegistryObject<Item> M_870 = GUNS.register("m_870", M870Item::new); public static final RegistryObject<Item> M_870 = GUNS.register("m_870", M870Item::new);
public static final RegistryObject<Item> AA_12 = GUNS.register("aa_12", Aa12Item::new); public static final RegistryObject<Item> AA_12 = GUNS.register("aa_12", Aa12Item::new);
public static final RegistryObject<Item> DEVOTION = GUNS.register("devotion", Devotion::new); public static final RegistryObject<Item> DEVOTION = GUNS.register("devotion", Devotion::new);

View file

@ -2,7 +2,12 @@ package net.mcreator.superbwarfare.init;
import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.item.gun.*; import net.mcreator.superbwarfare.item.gun.*;
import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
import net.mcreator.superbwarfare.item.gun.handgun.Trachelium;
import net.mcreator.superbwarfare.item.gun.rifle.*; import net.mcreator.superbwarfare.item.gun.rifle.*;
import net.mcreator.superbwarfare.item.gun.sniper.*;
import net.minecraft.core.registries.Registries; import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTab;
@ -41,10 +46,10 @@ public class ModTabs {
output.accept(K98Item.getGunInstance()); output.accept(K98Item.getGunInstance());
output.accept(MosinNagantItem.getGunInstance()); output.accept(MosinNagantItem.getGunInstance());
output.accept(SvdItem.getGunInstance()); output.accept(SvdItem.getGunInstance());
output.accept(HuntingRifle.getGunInstance()); output.accept(HuntingRifleItem.getGunInstance());
output.accept(M98bItem.getGunInstance()); output.accept(M98bItem.getGunInstance());
output.accept(SentinelItem.getGunInstance()); output.accept(SentinelItem.getGunInstance());
output.accept(Ntw20.getGunInstance()); output.accept(Ntw20Item.getGunInstance());
output.accept(M870Item.getGunInstance()); output.accept(M870Item.getGunInstance());
output.accept(Aa12Item.getGunInstance()); output.accept(Aa12Item.getGunInstance());
output.accept(Devotion.getGunInstance()); output.accept(Devotion.getGunInstance());

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.handgun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ItemDisplayContext; 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.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -40,7 +39,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -76,7 +74,7 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<Glock17Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
@ -108,7 +106,6 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 10) { if (stack.getOrCreateTag().getInt("draw_time") < 10) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw"));
} }
@ -142,11 +139,6 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -161,10 +153,7 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
@Override @Override
public Set<SoundEvent> getReloadSound() { public Set<SoundEvent> getReloadSound() {
return Set.of( return Set.of(ModSounds.GLOCK_17_RELOAD_EMPTY.get(), ModSounds.GLOCK_17_RELOAD_NORMAL.get());
ModSounds.GLOCK_17_RELOAD_EMPTY.get(),
ModSounds.GLOCK_17_RELOAD_NORMAL.get()
);
} }
public static ItemStack getGunInstance() { public static ItemStack getGunInstance() {
@ -187,4 +176,9 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " GLOCK-17"; return " GLOCK-17";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.HANDGUN_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.handgun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ItemDisplayContext; 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.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -40,7 +39,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -76,7 +74,7 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<Glock18Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
@ -115,7 +113,6 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 10) { if (stack.getOrCreateTag().getInt("draw_time") < 10) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw"));
} }
@ -149,11 +146,6 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -194,4 +186,9 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " GLOCK-18"; return " GLOCK-18";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.HANDGUN_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.handgun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ItemDisplayContext; 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.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -40,7 +39,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -76,7 +74,7 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<M1911Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
@ -95,7 +93,6 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal"));
} }
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle"));
} }
return PlayState.STOP; return PlayState.STOP;
@ -142,11 +139,6 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -187,4 +179,9 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " M-1911"; return " M-1911";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.HANDGUN_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.handgun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,6 +8,9 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool; import net.mcreator.superbwarfare.tools.TooltipTool;
@ -81,7 +84,7 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState idlePredicate(AnimationState event) { private PlayState idlePredicate(AnimationState<Trachelium> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
@ -114,7 +117,7 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState event) { private PlayState procedurePredicate(AnimationState<Trachelium> event) {
if (transformType != null && transformType.firstPerson()) { if (transformType != null && transformType.firstPerson()) {
if (!(this.animationProcedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) { if (!(this.animationProcedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
@ -184,4 +187,9 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return "TRACHELIUM"; return "TRACHELIUM";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.HANDGUN_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -25,8 +26,10 @@ import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.*; import net.minecraft.world.item.Item;
import net.minecraft.world.level.Level; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -37,17 +40,16 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem { public class HuntingRifleItem extends GunItem implements GeoItem, AnimatedItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationProcedure = "empty"; public String animationProcedure = "empty";
public static ItemDisplayContext transformType; public static ItemDisplayContext transformType;
public HuntingRifle() { public HuntingRifleItem() {
super(new Item.Properties().stacksTo(1).rarity(Rarity.EPIC)); super(new Item.Properties().stacksTo(1).rarity(Rarity.EPIC));
} }
@ -78,14 +80,13 @@ public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState idlePredicate(AnimationState event) { private PlayState idlePredicate(AnimationState<HuntingRifleItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 16) { if (stack.getOrCreateTag().getInt("draw_time") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.hunting_rifle.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.hunting_rifle.draw"));
} }
@ -110,7 +111,7 @@ public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState event) { private PlayState procedurePredicate(AnimationState<HuntingRifleItem> event) {
if (transformType != null && transformType.firstPerson()) { if (transformType != null && transformType.firstPerson()) {
if (!(this.animationProcedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) { if (!(this.animationProcedure.equals("empty")) && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
@ -149,11 +150,6 @@ public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem {
return map; return map;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
public static ItemStack getGunInstance() { public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(ModItems.HUNTING_RIFLE.get()); ItemStack stack = new ItemStack(ModItems.HUNTING_RIFLE.get());
GunsTool.initCreativeGun(stack, ModItems.HUNTING_RIFLE.getId().getPath()); GunsTool.initCreativeGun(stack, ModItems.HUNTING_RIFLE.getId().getPath());
@ -174,4 +170,9 @@ public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " Hunting Rifle"; return " Hunting Rifle";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ItemDisplayContext; 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.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -40,7 +39,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -76,14 +74,13 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<K98Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.shift")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.shift"));
} }
@ -124,7 +121,6 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem {
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 16) { if (stack.getOrCreateTag().getInt("draw_time") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.k98.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.k98.draw"));
} }
@ -147,21 +143,6 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState<K98Item> event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationProcedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationProcedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
@Override @Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) { public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate);
@ -175,11 +156,6 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -223,4 +199,9 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " KAR-98K"; return " KAR-98K";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -25,8 +26,10 @@ import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.*; import net.minecraft.world.item.Item;
import net.minecraft.world.level.Level; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -37,7 +40,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -73,14 +75,13 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState idlePredicate(AnimationState event) { private PlayState idlePredicate(AnimationState<M98bItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 16) { if (stack.getOrCreateTag().getInt("draw_time") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m98b.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m98b.draw"));
} }
@ -114,7 +115,7 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState event) { private PlayState procedurePredicate(AnimationState<M98bItem> event) {
if (transformType != null && transformType.firstPerson()) { if (transformType != null && transformType.firstPerson()) {
if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) { if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
@ -142,11 +143,6 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -161,11 +157,7 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
@Override @Override
public Set<SoundEvent> getReloadSound() { public Set<SoundEvent> getReloadSound() {
return Set.of( return Set.of(ModSounds.M_98B_RELOAD_EMPTY.get(), ModSounds.M_98B_RELOAD_NORMAL.get(), ModSounds.M_98B_BOLT.get());
ModSounds.M_98B_RELOAD_EMPTY.get(),
ModSounds.M_98B_RELOAD_NORMAL.get(),
ModSounds.M_98B_BOLT.get()
);
} }
public static ItemStack getGunInstance() { public static ItemStack getGunInstance() {
@ -188,4 +180,9 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " M98-B"; return " M98-B";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -28,8 +29,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.ItemDisplayContext; 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.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -40,7 +39,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -76,14 +74,13 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<MosinNagantItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.shift")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.shift"));
} }
@ -124,7 +121,6 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem {
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 16) { if (stack.getOrCreateTag().getInt("draw_time") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mosin.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.mosin.draw"));
} }
@ -147,21 +143,6 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState<MosinNagantItem> event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationProcedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationProcedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
@Override @Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) { public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate);
@ -175,11 +156,6 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -223,4 +199,9 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return "MOSIN NAGANT"; return "MOSIN NAGANT";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,15 +8,16 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.RarityTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -29,8 +30,6 @@ import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.Item; import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.TooltipFlag;
import net.minecraft.world.level.Level;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -41,27 +40,22 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { public class Ntw20Item extends GunItem implements GeoItem, AnimatedItem {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationProcedure = "empty"; public String animationProcedure = "empty";
public static ItemDisplayContext transformType; public static ItemDisplayContext transformType;
public Ntw20() { public Ntw20Item() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY)); super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY));
} }
@Override @Override
public Set<SoundEvent> getReloadSound() { public Set<SoundEvent> getReloadSound() {
return Set.of( return Set.of(ModSounds.NTW_20_RELOAD_EMPTY.get(), ModSounds.NTW_20_RELOAD_NORMAL.get(), ModSounds.NTW_20_BOLT.get());
ModSounds.NTW_20_RELOAD_EMPTY.get(),
ModSounds.NTW_20_RELOAD_NORMAL.get(),
ModSounds.NTW_20_BOLT.get()
);
} }
@Override @Override
@ -86,14 +80,13 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<Ntw20Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.shift")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.shift"));
} }
@ -115,21 +108,20 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState idlePredicate(AnimationState event) { private PlayState idlePredicate(AnimationState<Ntw20Item> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 29) { if (stack.getOrCreateTag().getInt("draw_time") < 29) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.draw"));
} }
if (player.isSprinting() && player.onGround() if (player.isSprinting() && player.onGround()
&& player.getPersistentData().getDouble("noRun") == 0 && player.getPersistentData().getDouble("noRun") == 0
&& !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))) { && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))) {
if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && stack.getOrCreateTag().getInt("bolt_action_anim") == 0) { if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && stack.getOrCreateTag().getInt("bolt_action_anim") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run_fast")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run_fast"));
} else { } else {
@ -150,17 +142,11 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem {
data.add(idleController); data.add(idleController);
} }
@Override @Override
public AnimatableInstanceCache getAnimatableInstanceCache() { public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) { public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack); Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
@ -193,4 +179,9 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return "NTW-20"; return "NTW-20";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -9,6 +9,9 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.RarityTool;
@ -121,14 +124,13 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState fireAnimPredicate(AnimationState event) { private PlayState fireAnimPredicate(AnimationState<SentinelItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift"));
} }
@ -161,7 +163,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (stack.getOrCreateTag().getInt("draw_time") < 16) { if (stack.getOrCreateTag().getInt("draw_time") < 16) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.draw"));
} }
@ -182,21 +183,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState<SentinelItem> event) {
if (transformType != null && transformType.firstPerson()) {
if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationProcedure = "empty";
event.getController().forceAnimationReset();
}
} else if (this.animationProcedure.equals("empty")) {
return PlayState.STOP;
}
}
return PlayState.CONTINUE;
}
@Override @Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) { public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate); var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate);
@ -220,14 +206,11 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
super.inventoryTick(itemStack, world, entity, slot, selected); super.inventoryTick(itemStack, world, entity, slot, selected);
var tag = itemStack.getOrCreateTag(); var tag = itemStack.getOrCreateTag();
itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent( itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent(
energy -> { energy -> {
int energyStored = energy.getEnergyStored(); int energyStored = energy.getEnergyStored();
if (energyStored > 0) { if (energyStored > 0) {
energy.extractEnergy(5, false); energy.extractEnergy(5, false);
tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("levelDamageMultiple")); tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("levelDamageMultiple"));
} else { } else {
tag.putDouble("sentinelChargeDamage", 0); tag.putDouble("sentinelChargeDamage", 0);
@ -282,4 +265,9 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return "SENTINEL"; return "SENTINEL";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -1,4 +1,4 @@
package net.mcreator.superbwarfare.item.gun; package net.mcreator.superbwarfare.item.gun.sniper;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
@ -8,14 +8,15 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.item.gun.GunItem;
import net.mcreator.superbwarfare.perk.Perk;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.PoseTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.player.LocalPlayer;
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
@ -25,8 +26,10 @@ import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.item.*; import net.minecraft.world.item.Item;
import net.minecraft.world.level.Level; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.Rarity;
import net.minecraftforge.client.extensions.common.IClientItemExtensions; import net.minecraftforge.client.extensions.common.IClientItemExtensions;
import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
@ -37,7 +40,6 @@ import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
@ -73,7 +75,7 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
transformType = type; transformType = type;
} }
private PlayState idlePredicate(AnimationState event) { private PlayState idlePredicate(AnimationState<SvdItem> event) {
LocalPlayer player = Minecraft.getInstance().player; LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP; if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
@ -110,7 +112,7 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
return PlayState.STOP; return PlayState.STOP;
} }
private PlayState procedurePredicate(AnimationState event) { private PlayState procedurePredicate(AnimationState<SvdItem> event) {
if (transformType != null && transformType.firstPerson()) { if (transformType != null && transformType.firstPerson()) {
if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) { if (!this.animationProcedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure)); event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationProcedure));
@ -125,7 +127,6 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
return PlayState.CONTINUE; return PlayState.CONTINUE;
} }
@Override @Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) { public void registerControllers(AnimatableManager.ControllerRegistrar data) {
var procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate); var procedureController = new AnimationController<>(this, "procedureController", 0, this::procedurePredicate);
@ -139,11 +140,6 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
return this.cache; return this.cache;
} }
@Override
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
TooltipTool.addGunTips(list, stack);
}
@Override @Override
public Set<SoundEvent> getReloadSound() { public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.SVD_RELOAD_EMPTY.get(), ModSounds.SVD_RELOAD_NORMAL.get()); return Set.of(ModSounds.SVD_RELOAD_EMPTY.get(), ModSounds.SVD_RELOAD_NORMAL.get());
@ -181,4 +177,9 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
public String getGunDisplayName() { public String getGunDisplayName() {
return " SVD"; return " SVD";
} }
@Override
public boolean canApplyPerk(Perk perk) {
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
}
} }

View file

@ -215,5 +215,39 @@ public class PerkHelper {
} }
}; };
public static final Predicate<Perk> HANDGUN_PERKS = perk -> {
switch (perk.type) {
case AMMO -> {
return true;
}
case FUNCTIONAL -> {
return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FIELD_DOCTOR.get() || perk == ModPerks.SUBSISTENCE.get();
}
case DAMAGE -> {
return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.GUTSHOT_STRAIGHT.get() || perk == ModPerks.MONSTER_HUNTER.get();
}
default -> {
return false;
}
}
};
public static final Predicate<Perk> SNIPER_RIFLE_PERKS = perk -> {
switch (perk.type) {
case AMMO -> {
return true;
}
case FUNCTIONAL -> {
return perk == ModPerks.HEAL_CLIP.get() || perk == ModPerks.FOURTH_TIMES_CHARM.get();
}
case DAMAGE -> {
return perk == ModPerks.KILL_CLIP.get() || perk == ModPerks.MONSTER_HUNTER.get();
}
default -> {
return false;
}
}
};
} }