添加其他初始化武器

This commit is contained in:
17146 2024-05-07 15:54:25 +08:00
parent 021b1e1add
commit a4776f98cc
12 changed files with 197 additions and 95 deletions

View file

@ -2,7 +2,7 @@ package net.mcreator.target.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.target.item.Sentinel; import net.mcreator.target.item.gun.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;
@ -11,15 +11,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 SentinelLayer extends GeoRenderLayer<Sentinel> { public class SentinelLayer extends GeoRenderLayer<SentinelItem> {
private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/sentinel_e.png"); private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/sentinel_e.png");
public SentinelLayer(GeoRenderer<Sentinel> entityRenderer) { public SentinelLayer(GeoRenderer<SentinelItem> entityRenderer) {
super(entityRenderer); super(entityRenderer);
} }
@Override @Override
public void render(PoseStack poseStack, Sentinel animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { public void render(PoseStack poseStack, SentinelItem 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

@ -1,6 +1,6 @@
package net.mcreator.target.client.model.item; package net.mcreator.target.client.model.item;
import net.mcreator.target.item.Sentinel; import net.mcreator.target.item.gun.SentinelItem;
import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.network.TargetModVariables;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
@ -10,24 +10,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 SentinelItemModel extends GeoModel<Sentinel> { public class SentinelItemModel extends GeoModel<SentinelItem> {
@Override @Override
public ResourceLocation getAnimationResource(Sentinel animatable) { public ResourceLocation getAnimationResource(SentinelItem animatable) {
return new ResourceLocation("target", "animations/sentinel.animation.json"); return new ResourceLocation("target", "animations/sentinel.animation.json");
} }
@Override @Override
public ResourceLocation getModelResource(Sentinel animatable) { public ResourceLocation getModelResource(SentinelItem animatable) {
return new ResourceLocation("target", "geo/sentinel.geo.json"); return new ResourceLocation("target", "geo/sentinel.geo.json");
} }
@Override @Override
public ResourceLocation getTextureResource(Sentinel animatable) { public ResourceLocation getTextureResource(SentinelItem animatable) {
return new ResourceLocation("target", "textures/item/sentinel.png"); return new ResourceLocation("target", "textures/item/sentinel.png");
} }
@Override @Override
public void setCustomAnimations(Sentinel animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(SentinelItem 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("scope2"); CoreGeoBone scope = getAnimationProcessor().getBone("scope2");

View file

@ -2,7 +2,7 @@ package net.mcreator.target.client.renderer.item;
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.target.item.Sentinel; import net.mcreator.target.item.gun.SentinelItem;
import net.mcreator.target.client.layer.SentinelLayer; import net.mcreator.target.client.layer.SentinelLayer;
import net.mcreator.target.client.model.item.SentinelItemModel; import net.mcreator.target.client.model.item.SentinelItemModel;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
@ -16,14 +16,14 @@ import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> { public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
public SentinelItemRenderer() { public SentinelItemRenderer() {
super(new SentinelItemModel()); super(new SentinelItemModel());
this.addRenderLayer(new SentinelLayer(this)); this.addRenderLayer(new SentinelLayer(this));
} }
@Override @Override
public RenderType getRenderType(Sentinel animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { public RenderType getRenderType(SentinelItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable)); return RenderType.entityTranslucent(getTextureLocation(animatable));
} }
@ -32,7 +32,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
protected MultiBufferSource currentBuffer; protected MultiBufferSource currentBuffer;
protected RenderType renderType; protected RenderType renderType;
public ItemDisplayContext transformType; public ItemDisplayContext transformType;
protected Sentinel animatable; protected SentinelItem 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<>();
@ -45,7 +45,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
} }
@Override @Override
public void actuallyRender(PoseStack matrixStackIn, Sentinel animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, public void actuallyRender(PoseStack matrixStackIn, SentinelItem 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;
@ -57,7 +57,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
} }
@Override @Override
public ResourceLocation getTextureLocation(Sentinel instance) { public ResourceLocation getTextureLocation(SentinelItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);
} }
} }

View file

@ -92,7 +92,7 @@ public class ItemAnimationFactory {
animatable.animationprocedure = animation; animatable.animationprocedure = animation;
disableUseAnim(); disableUseAnim();
} }
if (event.player.getMainHandItem().getItem() instanceof Sentinel animatable) if (event.player.getMainHandItem().getItem() instanceof SentinelItem animatable)
if (event.player.level().isClientSide()) { if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation; animatable.animationprocedure = animation;
disableUseAnim(); disableUseAnim();
@ -226,7 +226,7 @@ public class ItemAnimationFactory {
animatable.animationprocedure = animation; animatable.animationprocedure = animation;
disableUseAnim(); disableUseAnim();
} }
if (event.player.getOffhandItem().getItem() instanceof Sentinel animatable) if (event.player.getOffhandItem().getItem() instanceof SentinelItem animatable)
if (event.player.level().isClientSide()) { if (event.player.level().isClientSide()) {
animatable.animationprocedure = animation; animatable.animationprocedure = animation;
disableUseAnim(); disableUseAnim();

View file

@ -38,7 +38,7 @@ public class TargetModItems {
public static final RegistryObject<Item> MARLIN = GUNS.register("marlin", MarlinItem::new); public static final RegistryObject<Item> MARLIN = GUNS.register("marlin", MarlinItem::new);
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", Sentinel::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", HuntingRifle::new);
public static final RegistryObject<Item> KRABER = GUNS.register("kraber", Kraber::new); public static final RegistryObject<Item> KRABER = GUNS.register("kraber", Kraber::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);

View file

@ -28,13 +28,20 @@ public class TargetModTabs {
output.accept(Trachelium.getGunInstance()); output.accept(Trachelium.getGunInstance());
output.accept(VectorItem.getGunInstance()); output.accept(VectorItem.getGunInstance());
output.accept(Mk14Item.getGunInstance());
output.accept(MarlinItem.getGunInstance()); output.accept(MarlinItem.getGunInstance());
output.accept(SvdItem.getGunInstance()); output.accept(SvdItem.getGunInstance());
output.accept(SentinelItem.getGunInstance());
output.accept(Kraber.getGunInstance());
output.accept(M870Item.getGunInstance()); output.accept(M870Item.getGunInstance());
output.accept(Aa12Item.getGunInstance()); output.accept(Aa12Item.getGunInstance());
output.accept(RpkItem.getGunInstance());
output.accept(M60Item.getGunInstance()); output.accept(M60Item.getGunInstance());
output.accept(Minigun.getGunInstance());
} }
) )
.build()); .build());

View file

@ -2,8 +2,11 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.KraberItemRenderer; import net.mcreator.target.client.renderer.item.KraberItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.procedures.KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.RarityTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -150,6 +153,10 @@ public class Kraber extends GunItem implements GeoItem {
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
} }
@Override @Override
@ -159,10 +166,34 @@ public class Kraber extends GunItem implements GeoItem {
if (slot == EquipmentSlot.MAINHAND) { if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map); map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED, map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.1f, AttributeModifier.Operation.MULTIPLY_BASE)); new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.1f, AttributeModifier.Operation.MULTIPLY_BASE));
} }
return map; return map;
} }
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.KRABER.get());
initGun(stack, true);
return stack;
}
private static void initGun(ItemStack stack, boolean isCreative) {
stack.getOrCreateTag().putDouble("zoomspeed", 0.8);
stack.getOrCreateTag().putDouble("zoom", 3);
stack.getOrCreateTag().putDouble("sniperguns", 1);
stack.getOrCreateTag().putDouble("bipod", 1);
stack.getOrCreateTag().putDouble("dev", 6);
stack.getOrCreateTag().putDouble("recoilx", 0.008);
stack.getOrCreateTag().putDouble("recoily", 0.018);
stack.getOrCreateTag().putDouble("damage", 70);
stack.getOrCreateTag().putDouble("headshot", 3);
stack.getOrCreateTag().putDouble("velocity", 40);
stack.getOrCreateTag().putDouble("mag", 4);
stack.getOrCreateTag().putBoolean("init", true);
if (isCreative) {
stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag"));
}
}
} }

View file

@ -2,7 +2,9 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.MinigunItemRenderer; import net.mcreator.target.client.renderer.item.MinigunItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.MiniguninbackpackProcedure; import net.mcreator.target.procedures.MiniguninbackpackProcedure;
import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.RarityTool;
import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.ItemNBTTool;
@ -165,7 +167,7 @@ public class Minigun extends GunItem implements GeoItem {
if (slot == EquipmentSlot.MAINHAND) { if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map); map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED, map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.2f, AttributeModifier.Operation.MULTIPLY_BASE)); new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.2f, AttributeModifier.Operation.MULTIPLY_BASE));
} }
return map; return map;
} }
@ -179,6 +181,36 @@ public class Minigun extends GunItem implements GeoItem {
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
MiniguninbackpackProcedure.execute(entity, itemstack); MiniguninbackpackProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
}
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.MINIGUN.get());
initGun(stack, true);
return stack;
}
private static void initGun(ItemStack stack, boolean isCreative) {
stack.getOrCreateTag().putDouble("zoom", 1);
stack.getOrCreateTag().putDouble("rifle", 1);
stack.getOrCreateTag().putDouble("autorifle", 1);
stack.getOrCreateTag().putDouble("mg", 1);
stack.getOrCreateTag().putDouble("dev", 5);
stack.getOrCreateTag().putDouble("recoilx", 0.024);
stack.getOrCreateTag().putDouble("recoily", 0.005);
stack.getOrCreateTag().putDouble("damage", 8);
stack.getOrCreateTag().putDouble("headshot", 2);
stack.getOrCreateTag().putDouble("velocity", 40);
stack.getOrCreateTag().putDouble("firemode", 2);
stack.getOrCreateTag().putBoolean("init", true);
if (isCreative) {
stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag"));
}
} }
} }

View file

@ -2,8 +2,11 @@ package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.Mk14ItemRenderer; import net.mcreator.target.client.renderer.item.Mk14ItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.procedures.Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.model.HumanoidModel;
@ -140,6 +143,10 @@ public class Mk14Item extends GunItem implements GeoItem {
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
} }
@Override @Override
@ -159,8 +166,35 @@ public class Mk14Item extends GunItem implements GeoItem {
if (slot == EquipmentSlot.MAINHAND) { if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map); map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED, map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.05f, AttributeModifier.Operation.MULTIPLY_BASE)); new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.05f, AttributeModifier.Operation.MULTIPLY_BASE));
} }
return map; return map;
} }
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.MK_14.get());
initGun(stack, true);
return stack;
}
private static void initGun(ItemStack stack, boolean isCreative) {
stack.getOrCreateTag().putDouble("zoomspeed", 0.9);
stack.getOrCreateTag().putDouble("zoom", 3.4);
stack.getOrCreateTag().putDouble("rifle", 1);
stack.getOrCreateTag().putDouble("autorifle", 1);
stack.getOrCreateTag().putDouble("dev", 6);
stack.getOrCreateTag().putDouble("bipod", 1);
stack.getOrCreateTag().putDouble("recoilx", 0.006);
stack.getOrCreateTag().putDouble("recoily", 0.014);
stack.getOrCreateTag().putDouble("damage", 12);
stack.getOrCreateTag().putDouble("headshot", 2.5);
stack.getOrCreateTag().putDouble("velocity", 45);
stack.getOrCreateTag().putDouble("mag", 20);
stack.getOrCreateTag().putBoolean("init", true);
if (isCreative) {
stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag"));
}
}
} }

View file

@ -1,5 +1,8 @@
package net.mcreator.target.item.gun; package net.mcreator.target.item.gun;
import net.mcreator.target.TargetMod;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.tools.ItemNBTTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
import software.bernie.geckolib.util.GeckoLibUtil; import software.bernie.geckolib.util.GeckoLibUtil;
import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.core.object.PlayState;
@ -158,7 +161,7 @@ public class RpkItem extends GunItem implements GeoItem {
if (slot == EquipmentSlot.MAINHAND) { if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map); map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED, map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.06f, AttributeModifier.Operation.MULTIPLY_BASE)); new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.06f, AttributeModifier.Operation.MULTIPLY_BASE));
} }
return map; return map;
} }
@ -172,5 +175,37 @@ public class RpkItem extends GunItem implements GeoItem {
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
RpkWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); RpkWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
}
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.RPK.get());
initGun(stack, true);
return stack;
}
private static void initGun(ItemStack stack, boolean isCreative) {
stack.getOrCreateTag().putDouble("zoomspeed", 1.0);
stack.getOrCreateTag().putDouble("zoom", 1.25);
stack.getOrCreateTag().putDouble("rifle", 1);
stack.getOrCreateTag().putDouble("autorifle", 1);
stack.getOrCreateTag().putDouble("mg", 1);
stack.getOrCreateTag().putDouble("dev", 5);
stack.getOrCreateTag().putDouble("bipod", 1);
stack.getOrCreateTag().putDouble("recoilx", 0.0035);
stack.getOrCreateTag().putDouble("recoily", 0.012);
stack.getOrCreateTag().putDouble("damage", 8.75);
stack.getOrCreateTag().putDouble("headshot", 2);
stack.getOrCreateTag().putDouble("velocity", 35);
stack.getOrCreateTag().putDouble("mag", 50);
stack.getOrCreateTag().putBoolean("init", true);
if (isCreative) {
stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag"));
}
} }
} }

View file

@ -1,8 +1,10 @@
package net.mcreator.target.item; package net.mcreator.target.item.gun;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.renderer.item.SentinelItemRenderer; import net.mcreator.target.client.renderer.item.SentinelItemRenderer;
import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.procedures.SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; import net.mcreator.target.procedures.SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.RarityTool;
import net.mcreator.target.tools.ItemNBTTool; import net.mcreator.target.tools.ItemNBTTool;
@ -37,13 +39,13 @@ import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
public class Sentinel extends Item implements GeoItem { public class SentinelItem extends GunItem implements GeoItem {
private static final String TAG_POWER = "power"; private static final String TAG_POWER = "power";
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 Sentinel() { public SentinelItem() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY)); super(new Item.Properties().stacksTo(1).rarity(RarityTool.LEGENDARY));
} }
@ -168,6 +170,10 @@ public class Sentinel extends Item implements GeoItem {
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
super.inventoryTick(itemstack, world, entity, slot, selected); super.inventoryTick(itemstack, world, entity, slot, selected);
SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
initGun(itemstack, false);
}
} }
@Override @Override
@ -187,8 +193,33 @@ public class Sentinel extends Item implements GeoItem {
if (slot == EquipmentSlot.MAINHAND) { if (slot == EquipmentSlot.MAINHAND) {
map = HashMultimap.create(map); map = HashMultimap.create(map);
map.put(Attributes.MOVEMENT_SPEED, map.put(Attributes.MOVEMENT_SPEED,
new AttributeModifier(uuid, "henghengaaa", -0.06f, AttributeModifier.Operation.MULTIPLY_BASE)); new AttributeModifier(uuid, TargetMod.ATTRIBUTE_MODIFIER, -0.06f, AttributeModifier.Operation.MULTIPLY_BASE));
} }
return map; return map;
} }
public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.SENTINEL.get());
initGun(stack, true);
return stack;
}
private static void initGun(ItemStack stack, boolean isCreative) {
stack.getOrCreateTag().putDouble("zoomspeed", 0.95);
stack.getOrCreateTag().putDouble("zoom", 3);
stack.getOrCreateTag().putDouble("sniperguns", 1);
stack.getOrCreateTag().putDouble("dev", 6);
stack.getOrCreateTag().putDouble("recoilx", 0.007);
stack.getOrCreateTag().putDouble("recoily", 0.018);
stack.getOrCreateTag().putDouble("damage", 25);
stack.getOrCreateTag().putDouble("mag", 5);
stack.getOrCreateTag().putDouble("headshot", 3);
stack.getOrCreateTag().putDouble("velocity", 50);
stack.getOrCreateTag().putBoolean("init", true);
if (isCreative) {
stack.getOrCreateTag().putDouble("ammo", stack.getOrCreateTag().getDouble("mag"));
}
}
} }

View file

@ -157,74 +157,6 @@ public class GunsDataProcedure {
itemstackiterator.getOrCreateTag().putDouble("velocity", 45); itemstackiterator.getOrCreateTag().putDouble("velocity", 45);
itemstackiterator.getOrCreateTag().putDouble("mag", 30); itemstackiterator.getOrCreateTag().putDouble("mag", 30);
} }
if (itemstackiterator.getItem() == TargetModItems.RPK.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 1.0);
itemstackiterator.getOrCreateTag().putDouble("zoom", 1.25);
itemstackiterator.getOrCreateTag().putDouble("rifle", 1);
itemstackiterator.getOrCreateTag().putDouble("autorifle", 1);
itemstackiterator.getOrCreateTag().putDouble("mg", 1);
itemstackiterator.getOrCreateTag().putDouble("dev", 5);
itemstackiterator.getOrCreateTag().putDouble("bipod", 1);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.0035);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.012);
itemstackiterator.getOrCreateTag().putDouble("damage", 8.75);
itemstackiterator.getOrCreateTag().putDouble("headshot", 2);
itemstackiterator.getOrCreateTag().putDouble("velocity", 35);
itemstackiterator.getOrCreateTag().putDouble("mag", 50);
}
if (itemstackiterator.getItem() == TargetModItems.KRABER.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.8);
itemstackiterator.getOrCreateTag().putDouble("zoom", 3);
itemstackiterator.getOrCreateTag().putDouble("sniperguns", 1);
itemstackiterator.getOrCreateTag().putDouble("bipod", 1);
itemstackiterator.getOrCreateTag().putDouble("dev", 6);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.008);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.018);
itemstackiterator.getOrCreateTag().putDouble("damage", 70);
itemstackiterator.getOrCreateTag().putDouble("headshot", 3);
itemstackiterator.getOrCreateTag().putDouble("velocity", 40);
itemstackiterator.getOrCreateTag().putDouble("mag", 4);
}
if (itemstackiterator.getItem() == TargetModItems.MINIGUN.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoom", 1);
itemstackiterator.getOrCreateTag().putDouble("rifle", 1);
itemstackiterator.getOrCreateTag().putDouble("autorifle", 1);
itemstackiterator.getOrCreateTag().putDouble("mg", 1);
itemstackiterator.getOrCreateTag().putDouble("dev", 5);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.024);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.005);
itemstackiterator.getOrCreateTag().putDouble("damage", 8);
itemstackiterator.getOrCreateTag().putDouble("headshot", 2);
itemstackiterator.getOrCreateTag().putDouble("velocity", 40);
itemstackiterator.getOrCreateTag().putDouble("firemode", 2);
}
if (itemstackiterator.getItem() == TargetModItems.MK_14.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.9);
itemstackiterator.getOrCreateTag().putDouble("zoom", 3.4);
itemstackiterator.getOrCreateTag().putDouble("rifle", 1);
itemstackiterator.getOrCreateTag().putDouble("autorifle", 1);
itemstackiterator.getOrCreateTag().putDouble("dev", 6);
itemstackiterator.getOrCreateTag().putDouble("bipod", 1);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.006);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.014);
itemstackiterator.getOrCreateTag().putDouble("damage", 12);
itemstackiterator.getOrCreateTag().putDouble("headshot", 2.5);
itemstackiterator.getOrCreateTag().putDouble("velocity", 45);
itemstackiterator.getOrCreateTag().putDouble("mag", 20);
}
if (itemstackiterator.getItem() == TargetModItems.SENTINEL.get()) {
itemstackiterator.getOrCreateTag().putDouble("zoomspeed", 0.95);
itemstackiterator.getOrCreateTag().putDouble("zoom", 3);
itemstackiterator.getOrCreateTag().putDouble("sniperguns", 1);
itemstackiterator.getOrCreateTag().putDouble("dev", 6);
itemstackiterator.getOrCreateTag().putDouble("recoilx", 0.007);
itemstackiterator.getOrCreateTag().putDouble("recoily", 0.018);
itemstackiterator.getOrCreateTag().putDouble("damage", 25);
itemstackiterator.getOrCreateTag().putDouble("mag", 5);
itemstackiterator.getOrCreateTag().putDouble("headshot", 3);
itemstackiterator.getOrCreateTag().putDouble("velocity", 50);
}
} }
} }