添加其他初始化武器
This commit is contained in:
parent
021b1e1add
commit
a4776f98cc
12 changed files with 197 additions and 95 deletions
|
@ -2,7 +2,7 @@ package net.mcreator.target.client.layer;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
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.RenderType;
|
||||
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.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");
|
||||
|
||||
public SentinelLayer(GeoRenderer<Sentinel> entityRenderer) {
|
||||
public SentinelLayer(GeoRenderer<SentinelItem> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
}
|
||||
|
||||
@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);
|
||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
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.minecraft.client.Minecraft;
|
||||
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.model.GeoModel;
|
||||
|
||||
public class SentinelItemModel extends GeoModel<Sentinel> {
|
||||
public class SentinelItemModel extends GeoModel<SentinelItem> {
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Sentinel animatable) {
|
||||
public ResourceLocation getAnimationResource(SentinelItem animatable) {
|
||||
return new ResourceLocation("target", "animations/sentinel.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Sentinel animatable) {
|
||||
public ResourceLocation getModelResource(SentinelItem animatable) {
|
||||
return new ResourceLocation("target", "geo/sentinel.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Sentinel animatable) {
|
||||
public ResourceLocation getTextureResource(SentinelItem animatable) {
|
||||
return new ResourceLocation("target", "textures/item/sentinel.png");
|
||||
}
|
||||
|
||||
@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 shen = getAnimationProcessor().getBone("shen");
|
||||
CoreGeoBone scope = getAnimationProcessor().getBone("scope2");
|
||||
|
|
|
@ -2,7 +2,7 @@ package net.mcreator.target.client.renderer.item;
|
|||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
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.model.item.SentinelItemModel;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
|
@ -16,14 +16,14 @@ import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
|
||||
public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
|
||||
public SentinelItemRenderer() {
|
||||
super(new SentinelItemModel());
|
||||
this.addRenderLayer(new SentinelLayer(this));
|
||||
}
|
||||
|
||||
@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));
|
||||
}
|
||||
|
||||
|
@ -32,7 +32,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
|
|||
protected MultiBufferSource currentBuffer;
|
||||
protected RenderType renderType;
|
||||
public ItemDisplayContext transformType;
|
||||
protected Sentinel animatable;
|
||||
protected SentinelItem animatable;
|
||||
private final Set<String> hiddenBones = new HashSet<>();
|
||||
private final Set<String> suppressedBones = new HashSet<>();
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
|
|||
}
|
||||
|
||||
@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) {
|
||||
this.currentBuffer = renderTypeBuffer;
|
||||
this.renderType = type;
|
||||
|
@ -57,7 +57,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<Sentinel> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureLocation(Sentinel instance) {
|
||||
public ResourceLocation getTextureLocation(SentinelItem instance) {
|
||||
return super.getTextureLocation(instance);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -92,7 +92,7 @@ public class ItemAnimationFactory {
|
|||
animatable.animationprocedure = animation;
|
||||
disableUseAnim();
|
||||
}
|
||||
if (event.player.getMainHandItem().getItem() instanceof Sentinel animatable)
|
||||
if (event.player.getMainHandItem().getItem() instanceof SentinelItem animatable)
|
||||
if (event.player.level().isClientSide()) {
|
||||
animatable.animationprocedure = animation;
|
||||
disableUseAnim();
|
||||
|
@ -226,7 +226,7 @@ public class ItemAnimationFactory {
|
|||
animatable.animationprocedure = animation;
|
||||
disableUseAnim();
|
||||
}
|
||||
if (event.player.getOffhandItem().getItem() instanceof Sentinel animatable)
|
||||
if (event.player.getOffhandItem().getItem() instanceof SentinelItem animatable)
|
||||
if (event.player.level().isClientSide()) {
|
||||
animatable.animationprocedure = animation;
|
||||
disableUseAnim();
|
||||
|
|
|
@ -38,7 +38,7 @@ public class TargetModItems {
|
|||
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> 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> KRABER = GUNS.register("kraber", Kraber::new);
|
||||
public static final RegistryObject<Item> M_870 = GUNS.register("m_870", M870Item::new);
|
||||
|
|
|
@ -28,13 +28,20 @@ public class TargetModTabs {
|
|||
output.accept(Trachelium.getGunInstance());
|
||||
output.accept(VectorItem.getGunInstance());
|
||||
|
||||
output.accept(Mk14Item.getGunInstance());
|
||||
output.accept(MarlinItem.getGunInstance());
|
||||
output.accept(SvdItem.getGunInstance());
|
||||
|
||||
output.accept(SentinelItem.getGunInstance());
|
||||
|
||||
output.accept(Kraber.getGunInstance());
|
||||
|
||||
output.accept(M870Item.getGunInstance());
|
||||
output.accept(Aa12Item.getGunInstance());
|
||||
|
||||
output.accept(RpkItem.getGunInstance());
|
||||
output.accept(M60Item.getGunInstance());
|
||||
output.accept(Minigun.getGunInstance());
|
||||
}
|
||||
)
|
||||
.build());
|
||||
|
|
|
@ -2,8 +2,11 @@ package net.mcreator.target.item.gun;
|
|||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import net.mcreator.target.TargetMod;
|
||||
import net.mcreator.target.client.renderer.item.KraberItemRenderer;
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.procedures.KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
|
||||
import net.mcreator.target.tools.ItemNBTTool;
|
||||
import net.mcreator.target.tools.RarityTool;
|
||||
import net.mcreator.target.tools.TooltipTool;
|
||||
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) {
|
||||
super.inventoryTick(itemstack, world, entity, slot, selected);
|
||||
KraberWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
|
||||
|
||||
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
|
||||
initGun(itemstack, false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -159,10 +166,34 @@ public class Kraber extends GunItem implements GeoItem {
|
|||
if (slot == EquipmentSlot.MAINHAND) {
|
||||
map = HashMultimap.create(map);
|
||||
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;
|
||||
}
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,9 @@ package net.mcreator.target.item.gun;
|
|||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import net.mcreator.target.TargetMod;
|
||||
import net.mcreator.target.client.renderer.item.MinigunItemRenderer;
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.procedures.MiniguninbackpackProcedure;
|
||||
import net.mcreator.target.tools.RarityTool;
|
||||
import net.mcreator.target.tools.ItemNBTTool;
|
||||
|
@ -165,7 +167,7 @@ public class Minigun extends GunItem implements GeoItem {
|
|||
if (slot == EquipmentSlot.MAINHAND) {
|
||||
map = HashMultimap.create(map);
|
||||
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;
|
||||
}
|
||||
|
@ -179,6 +181,36 @@ public class Minigun extends GunItem implements GeoItem {
|
|||
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
|
||||
super.inventoryTick(itemstack, world, entity, slot, selected);
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,8 +2,11 @@ package net.mcreator.target.item.gun;
|
|||
|
||||
import com.google.common.collect.HashMultimap;
|
||||
import com.google.common.collect.Multimap;
|
||||
import net.mcreator.target.TargetMod;
|
||||
import net.mcreator.target.client.renderer.item.Mk14ItemRenderer;
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.procedures.Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
|
||||
import net.mcreator.target.tools.ItemNBTTool;
|
||||
import net.mcreator.target.tools.TooltipTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
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) {
|
||||
super.inventoryTick(itemstack, world, entity, slot, selected);
|
||||
Mk14WuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
|
||||
|
||||
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
|
||||
initGun(itemstack, false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -159,8 +166,35 @@ public class Mk14Item extends GunItem implements GeoItem {
|
|||
if (slot == EquipmentSlot.MAINHAND) {
|
||||
map = HashMultimap.create(map);
|
||||
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;
|
||||
}
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
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 software.bernie.geckolib.util.GeckoLibUtil;
|
||||
import software.bernie.geckolib.core.object.PlayState;
|
||||
|
@ -158,7 +161,7 @@ public class RpkItem extends GunItem implements GeoItem {
|
|||
if (slot == EquipmentSlot.MAINHAND) {
|
||||
map = HashMultimap.create(map);
|
||||
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;
|
||||
}
|
||||
|
@ -172,5 +175,37 @@ public class RpkItem extends GunItem implements GeoItem {
|
|||
public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) {
|
||||
super.inventoryTick(itemstack, world, entity, slot, selected);
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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.Multimap;
|
||||
import net.mcreator.target.TargetMod;
|
||||
import net.mcreator.target.client.renderer.item.SentinelItemRenderer;
|
||||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.procedures.SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure;
|
||||
import net.mcreator.target.tools.RarityTool;
|
||||
import net.mcreator.target.tools.ItemNBTTool;
|
||||
|
@ -37,13 +39,13 @@ import java.util.List;
|
|||
import java.util.UUID;
|
||||
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 final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
public String animationprocedure = "empty";
|
||||
public static ItemDisplayContext transformType;
|
||||
|
||||
public Sentinel() {
|
||||
public SentinelItem() {
|
||||
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) {
|
||||
super.inventoryTick(itemstack, world, entity, slot, selected);
|
||||
SentinelWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack);
|
||||
|
||||
if (!ItemNBTTool.getBoolean(itemstack, "init", false)) {
|
||||
initGun(itemstack, false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -187,8 +193,33 @@ public class Sentinel extends Item implements GeoItem {
|
|||
if (slot == EquipmentSlot.MAINHAND) {
|
||||
map = HashMultimap.create(map);
|
||||
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;
|
||||
}
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -157,74 +157,6 @@ public class GunsDataProcedure {
|
|||
itemstackiterator.getOrCreateTag().putDouble("velocity", 45);
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue