删除克莱伯,替换为牛头王20

This commit is contained in:
Atsuihsio 2024-07-15 23:45:41 +08:00
parent f4a48c5aba
commit f243b615a0
55 changed files with 10333 additions and 11769 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.gun.Kraber; import net.mcreator.target.item.gun.Ntw20;
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 KraberLayer extends GeoRenderLayer<Kraber> { public class Ntw20Layer extends GeoRenderLayer<Ntw20> {
private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/kraber_e.png"); private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/ntw_20_e.png");
public KraberLayer(GeoRenderer<Kraber> entityRenderer) { public Ntw20Layer(GeoRenderer<Ntw20> entityRenderer) {
super(entityRenderer); super(entityRenderer);
} }
@Override @Override
public void render(PoseStack poseStack, Kraber animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { public void render(PoseStack poseStack, Ntw20 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,7 +1,7 @@
package net.mcreator.target.client.model.item; package net.mcreator.target.client.model.item;
import net.mcreator.target.init.TargetModTags; import net.mcreator.target.init.TargetModTags;
import net.mcreator.target.item.gun.Kraber; import net.mcreator.target.item.gun.Ntw20;
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;
@ -12,30 +12,36 @@ 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 KraberItemModel extends GeoModel<Kraber> { public class Ntw20Model extends GeoModel<Ntw20> {
@Override @Override
public ResourceLocation getAnimationResource(Kraber animatable) { public ResourceLocation getAnimationResource(Ntw20 animatable) {
return new ResourceLocation("target", "animations/kraber.animation.json"); return new ResourceLocation("target", "animations/ntw_20.animation.json");
} }
@Override @Override
public ResourceLocation getModelResource(Kraber animatable) { public ResourceLocation getModelResource(Ntw20 animatable) {
return new ResourceLocation("target", "geo/kraber.geo.json"); return new ResourceLocation("target", "geo/ntw_20.geo.json");
} }
@Override @Override
public ResourceLocation getTextureResource(Kraber animatable) { public ResourceLocation getTextureResource(Ntw20 animatable) {
return new ResourceLocation("target", "textures/item/kraber.png"); return new ResourceLocation("target", "textures/item/ntw_20.png");
} }
@Override @Override
public void setCustomAnimations(Kraber animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(Ntw20 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");
CoreGeoBone flare = getAnimationProcessor().getBone("flare"); CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone l = getAnimationProcessor().getBone("l"); CoreGeoBone l = getAnimationProcessor().getBone("l");
CoreGeoBone r = getAnimationProcessor().getBone("r"); CoreGeoBone r = getAnimationProcessor().getBone("r");
CoreGeoBone action = getAnimationProcessor().getBone("action");
CoreGeoBone body = getAnimationProcessor().getBone("body");
CoreGeoBone jing = getAnimationProcessor().getBone("jing");
CoreGeoBone base = getAnimationProcessor().getBone("base");
CoreGeoBone lh = getAnimationProcessor().getBone("lh");
CoreGeoBone rex = getAnimationProcessor().getBone("rex");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
if (player == null) return; if (player == null) return;
@ -61,25 +67,40 @@ public class KraberItemModel extends GeoModel<Kraber> {
shen.setRotX(0.1f * (float) (0.18f * fp + fr)); shen.setRotX(0.1f * (float) (0.18f * fp + fr));
shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr)); shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr));
} }
action.setPosZ(3 * (float) fp);
lh.setPosZ(-3 * (float) fp);
shen.setPosX(0.5f * (float)fr * (float)((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon * fp)); shen.setPosX(0.5f * (float)fr * (float)((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon * fp));
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0; gun.setPosX(4.528f * (float) p);
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(6.298f * (float) p); gun.setPosY(-0.43f * (float) p - (float) (0.2f * zp));
gun.setPosY(0.32f * (float) p - (float) (0.2f * zp)); gun.setPosZ(10.0f * (float) p + (float) (0.3f * zp));
gun.setPosZ(10.4f * (float) p + (float) (0.3f * zp));
gun.setRotZ((float) (0.02f * zp)); gun.setRotZ((float) (0.02f * zp));
gun.setScaleZ(1f - (0.8f * (float) p)); gun.setScaleZ(1f - (0.8f * (float) p));
scope.setScaleZ(1f - (0.9f * (float) p)); scope.setScaleZ(1f - (0.85f * (float) p));
if (gun.getPosX() > 2.5f) {
rex.setHidden(false);
action.setHidden(true);
body.setHidden(true);
jing.setHidden(true);
base.setHidden(true);
} else {
rex.setHidden(true);
action.setHidden(false);
body.setHidden(false);
jing.setHidden(false);
base.setHidden(false);
}
if (stack.getOrCreateTag().getDouble("flash_time") > 0) { if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setScaleX((float) (1.0 + 0.5 * (Math.random() - 0.5))); flare.setScaleX((float) (1.0 + 0.5 * (Math.random() - 0.5)));
@ -134,5 +155,13 @@ public class KraberItemModel extends GeoModel<Kraber> {
move.setRotY(0.6f * Mth.DEG_TO_RAD * (float) yRot); move.setRotY(0.6f * Mth.DEG_TO_RAD * (float) yRot);
move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot); move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot);
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
player.getPersistentData().putDouble("camera_rot_x", Mth.RAD_TO_DEG * camera.getRotX());
player.getPersistentData().putDouble("camera_rot_y", Mth.RAD_TO_DEG * camera.getRotY());
player.getPersistentData().putDouble("camera_rot_z", Mth.RAD_TO_DEG * camera.getRotZ());
} }
} }

View file

@ -1,19 +0,0 @@
package net.mcreator.target.client.renderer.item;
import net.mcreator.target.item.gun.Kraber;
import net.mcreator.target.client.layer.KraberLayer;
import net.mcreator.target.client.model.item.KraberItemModel;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.renderer.GeoItemRenderer;
public class KraberItemRenderer extends GeoItemRenderer<Kraber> {
public KraberItemRenderer() {
super(new KraberItemModel());
this.addRenderLayer(new KraberLayer(this));
}
@Override
public ResourceLocation getTextureLocation(Kraber instance) {
return super.getTextureLocation(instance);
}
}

View file

@ -0,0 +1,64 @@
package net.mcreator.target.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.target.item.gun.Ntw20;
import net.mcreator.target.client.layer.Ntw20Layer;
import net.mcreator.target.client.model.item.Ntw20Model;
import net.mcreator.target.item.gun.SvdItem;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class Ntw20Renderer extends GeoItemRenderer<Ntw20> {
public Ntw20Renderer() {
super(new Ntw20Model());
this.addRenderLayer(new Ntw20Layer(this));
}
@Override
public RenderType getRenderType(Ntw20 animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected Ntw20 animatable;
private final Set<String> hiddenBones = new HashSet<>();
private final Set<String> suppressedBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, Ntw20 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;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public ResourceLocation getTextureLocation(Ntw20 instance) {
return super.getTextureLocation(instance);
}
}

View file

@ -39,7 +39,7 @@ public class TargetModItems {
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", HuntingRifle::new);
public static final RegistryObject<Item> KRABER = GUNS.register("kraber", Kraber::new); public static final RegistryObject<Item> NTW_20 = GUNS.register("ntw_20", Ntw20::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);
@ -142,7 +142,7 @@ public class TargetModItems {
public static final RegistryObject<Item> HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", HK416Blueprint::new); public static final RegistryObject<Item> HK_416_BLUEPRINT = ITEMS.register("hk_416_blueprint", HK416Blueprint::new);
public static final RegistryObject<Item> RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", RPKBlueprint::new); public static final RegistryObject<Item> RPK_BLUEPRINT = ITEMS.register("rpk_blueprint", RPKBlueprint::new);
public static final RegistryObject<Item> SKS_BLUEPRINT = ITEMS.register("sks_blueprint", SKSBlueprint::new); public static final RegistryObject<Item> SKS_BLUEPRINT = ITEMS.register("sks_blueprint", SKSBlueprint::new);
public static final RegistryObject<Item> KRABER_BLUEPRINT = ITEMS.register("kraber_blueprint", KRABERBlueprint::new); public static final RegistryObject<Item> NTW_20_BLUEPRINT = ITEMS.register("ntw_20_blueprint", Ntw20Blueprint::new);
public static final RegistryObject<Item> VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", VectorBlueprint::new); public static final RegistryObject<Item> VECTOR_BLUEPRINT = ITEMS.register("vector_blueprint", VectorBlueprint::new);
public static final RegistryObject<Item> MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", MinigunBlueprint::new); public static final RegistryObject<Item> MINIGUN_BLUEPRINT = ITEMS.register("minigun_blueprint", MinigunBlueprint::new);
public static final RegistryObject<Item> MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", Mk14Blueprint::new); public static final RegistryObject<Item> MK_14_BLUEPRINT = ITEMS.register("mk_14_blueprint", Mk14Blueprint::new);

View file

@ -111,13 +111,13 @@ public class TargetModSounds {
public static final RegistryObject<SoundEvent> RPK_VERYFAR = REGISTRY.register("rpk_veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_veryfar"))); public static final RegistryObject<SoundEvent> RPK_VERYFAR = REGISTRY.register("rpk_veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_veryfar")));
public static final RegistryObject<SoundEvent> RPK_RELOAD_NORMAL = REGISTRY.register("rpk_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_reload_normal"))); public static final RegistryObject<SoundEvent> RPK_RELOAD_NORMAL = REGISTRY.register("rpk_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_reload_normal")));
public static final RegistryObject<SoundEvent> RPK_RELOAD_EMPTY = REGISTRY.register("rpk_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_reload_empty"))); public static final RegistryObject<SoundEvent> RPK_RELOAD_EMPTY = REGISTRY.register("rpk_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "rpk_reload_empty")));
public static final RegistryObject<SoundEvent> KRABER_FIRE_1P = REGISTRY.register("kraber_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_fire_1p"))); public static final RegistryObject<SoundEvent> NTW_20_FIRE_1P = REGISTRY.register("ntw_20_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_fire_1p")));
public static final RegistryObject<SoundEvent> KRABER_FIRE_3P = REGISTRY.register("kraber_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_fire_3p"))); public static final RegistryObject<SoundEvent> NTW_20_FIRE_3P = REGISTRY.register("ntw_20_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_fire_3p")));
public static final RegistryObject<SoundEvent> KRABER_FAR = REGISTRY.register("kraber_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_far"))); public static final RegistryObject<SoundEvent> NTW_20_FAR = REGISTRY.register("ntw_20_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_far")));
public static final RegistryObject<SoundEvent> KRABER_VERYFAR = REGISTRY.register("kraber_veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_veryfar"))); public static final RegistryObject<SoundEvent> NTW_20_VERYFAR = REGISTRY.register("ntw_20_veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_veryfar")));
public static final RegistryObject<SoundEvent> KRABER_RELOAD_NORMAL = REGISTRY.register("kraber_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_reload_normal"))); public static final RegistryObject<SoundEvent> NTW_20_RELOAD_NORMAL = REGISTRY.register("ntw_20_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_reload_normal")));
public static final RegistryObject<SoundEvent> KRABER_RELOAD_EMPTY = REGISTRY.register("kraber_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_reload_empty"))); public static final RegistryObject<SoundEvent> NTW_20_RELOAD_EMPTY = REGISTRY.register("ntw_20_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_reload_empty")));
public static final RegistryObject<SoundEvent> KRABER_BOLT = REGISTRY.register("kraber_bolt", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "kraber_bolt"))); public static final RegistryObject<SoundEvent> NTW_20_BOLT = REGISTRY.register("ntw_20_bolt", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "ntw_20_bolt")));
public static final RegistryObject<SoundEvent> VECTOR_FIRE_1P = REGISTRY.register("vector_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vector_fire_1p"))); public static final RegistryObject<SoundEvent> VECTOR_FIRE_1P = REGISTRY.register("vector_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vector_fire_1p")));
public static final RegistryObject<SoundEvent> VECTOR_FIRE_3P = REGISTRY.register("vector_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vector_fire_3p"))); public static final RegistryObject<SoundEvent> VECTOR_FIRE_3P = REGISTRY.register("vector_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vector_fire_3p")));
public static final RegistryObject<SoundEvent> VECTOR_FAR = REGISTRY.register("vector_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vector_far"))); public static final RegistryObject<SoundEvent> VECTOR_FAR = REGISTRY.register("vector_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("target", "vector_far")));

View file

@ -37,7 +37,7 @@ public class TargetModTabs {
output.accept(HuntingRifle.getGunInstance()); output.accept(HuntingRifle.getGunInstance());
output.accept(M98bItem.getGunInstance()); output.accept(M98bItem.getGunInstance());
output.accept(SentinelItem.getGunInstance()); output.accept(SentinelItem.getGunInstance());
output.accept(Kraber.getGunInstance()); output.accept(Ntw20.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

@ -9,8 +9,8 @@ import net.minecraft.world.level.Level;
import java.util.List; import java.util.List;
public class KRABERBlueprint extends Item { public class Ntw20Blueprint extends Item {
public KRABERBlueprint() { public Ntw20Blueprint() {
super(new Item.Properties().stacksTo(64).rarity(RarityTool.SPECIAL)); super(new Item.Properties().stacksTo(64).rarity(RarityTool.SPECIAL));
} }

View file

@ -3,28 +3,28 @@ 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.TargetMod;
import net.mcreator.target.client.renderer.item.KraberItemRenderer; import net.mcreator.target.client.renderer.item.Ntw20Renderer;
import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.init.TargetModSounds; import net.mcreator.target.init.TargetModSounds;
import net.mcreator.target.init.TargetModTags; import net.mcreator.target.init.TargetModTags;
import net.mcreator.target.item.AnimatedItem; import net.mcreator.target.item.AnimatedItem;
import net.mcreator.target.tools.*; import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.tools.GunsTool;
import net.mcreator.target.tools.RarityTool;
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;
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.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.EquipmentSlot;
import net.minecraft.world.entity.LivingEntity; 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.entity.player.Player;
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;
@ -45,21 +45,21 @@ import java.util.Set;
import java.util.UUID; import java.util.UUID;
import java.util.function.Consumer; import java.util.function.Consumer;
public class Kraber extends GunItem implements GeoItem, AnimatedItem { public class Ntw20 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 Kraber() { public Ntw20() {
super(new Item.Properties().stacksTo(1).rarity(RarityTool.SPECIAL)); super(new Item.Properties().stacksTo(1).rarity(RarityTool.SPECIAL));
} }
@Override @Override
public Set<SoundEvent> getReloadSound() { public Set<SoundEvent> getReloadSound() {
return Set.of( return Set.of(
TargetModSounds.KRABER_RELOAD_EMPTY.get(), TargetModSounds.NTW_20_RELOAD_EMPTY.get(),
TargetModSounds.KRABER_RELOAD_NORMAL.get(), TargetModSounds.NTW_20_RELOAD_NORMAL.get(),
TargetModSounds.KRABER_BOLT.get() TargetModSounds.NTW_20_BOLT.get()
); );
} }
@ -67,7 +67,7 @@ public class Kraber extends GunItem implements GeoItem, AnimatedItem {
public void initializeClient(Consumer<IClientItemExtensions> consumer) { public void initializeClient(Consumer<IClientItemExtensions> consumer) {
super.initializeClient(consumer); super.initializeClient(consumer);
consumer.accept(new IClientItemExtensions() { consumer.accept(new IClientItemExtensions() {
private final BlockEntityWithoutLevelRenderer renderer = new KraberItemRenderer(); private final BlockEntityWithoutLevelRenderer renderer = new Ntw20Renderer();
@Override @Override
public BlockEntityWithoutLevelRenderer getCustomRenderer() { public BlockEntityWithoutLevelRenderer getCustomRenderer() {
@ -94,30 +94,34 @@ public class Kraber extends GunItem implements GeoItem, AnimatedItem {
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.kraber.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.draw"));
}
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming && stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.shift2"));
} }
if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.kraber.shift")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.shift"));
} }
if (stack.getOrCreateTag().getInt("fire_animation") > 0) { if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.kraber.fire")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.fire"));
} }
if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) { if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.kraber.reload")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.reload_empty"));
} }
if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) { if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.kraber.reload2")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.reload_normal"));
} }
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0) { if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.kraber.run")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run"));
} }
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.kraber.idle")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.idle"));
} }
return PlayState.STOP; return PlayState.STOP;
} }
@ -179,8 +183,8 @@ public class Kraber extends GunItem implements GeoItem, AnimatedItem {
} }
public static ItemStack getGunInstance() { public static ItemStack getGunInstance() {
ItemStack stack = new ItemStack(TargetModItems.KRABER.get()); ItemStack stack = new ItemStack(TargetModItems.NTW_20.get());
GunsTool.initCreativeGun(stack, TargetModItems.KRABER.getId().getPath()); GunsTool.initCreativeGun(stack, TargetModItems.NTW_20.getId().getPath());
return stack; return stack;
} }
@ -191,11 +195,11 @@ public class Kraber extends GunItem implements GeoItem, AnimatedItem {
@Override @Override
public ResourceLocation getGunIcon() { public ResourceLocation getGunIcon() {
return new ResourceLocation(TargetMod.MODID, "textures/gun_icon/kraber_icon.png"); return new ResourceLocation(TargetMod.MODID, "textures/gun_icon/ntw_20_icon.png");
} }
@Override @Override
public String getGunDisplayName() { public String getGunDisplayName() {
return "KRABER"; return "NTW_20";
} }
} }

View file

@ -9,6 +9,7 @@ import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.init.TargetModSounds; import net.mcreator.target.init.TargetModSounds;
import net.mcreator.target.init.TargetModTags; import net.mcreator.target.init.TargetModTags;
import net.mcreator.target.item.AnimatedItem; import net.mcreator.target.item.AnimatedItem;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.tools.GunsTool; import net.mcreator.target.tools.GunsTool;
import net.mcreator.target.tools.RarityTool; import net.mcreator.target.tools.RarityTool;
import net.mcreator.target.tools.TooltipTool; import net.mcreator.target.tools.TooltipTool;
@ -131,11 +132,11 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.draw")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.draw"));
} }
if (stack.getOrCreateTag().getBoolean("zoom_fire") && stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming && stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift2")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift2"));
} }
if (!stack.getOrCreateTag().getBoolean("zoom_fire") && 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"));
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -35,7 +35,7 @@
"item.target.hk_416": "Hk-416", "item.target.hk_416": "Hk-416",
"item.target.hunting_rifle": "HUNTING RIFLE", "item.target.hunting_rifle": "HUNTING RIFLE",
"item.target.svd": "SVD", "item.target.svd": "SVD",
"item.target.kraber": "KRABER", "item.target.ntw_20": "NTW-20",
"des.target.tips.damage": "Damage: ", "des.target.tips.damage": "Damage: ",
"des.target.tips.level": "Level: ", "des.target.tips.level": "Level: ",
@ -43,7 +43,7 @@
"item.target.vector_blueprint": "VECTOR Blueprint", "item.target.vector_blueprint": "VECTOR Blueprint",
"item.target.m_60_blueprint": "M60 Blueprint", "item.target.m_60_blueprint": "M60 Blueprint",
"item.target.hk_416_blueprint": "Hk-416 Blueprint", "item.target.hk_416_blueprint": "Hk-416 Blueprint",
"item.target.kraber_blueprint": "KRABER Blueprint", "item.target.ntw_20_blueprint": "NTW-20 Blueprint",
"item.target.hunting_rifle_blueprint": "HUNTING RIFLE Blueprint", "item.target.hunting_rifle_blueprint": "HUNTING RIFLE Blueprint",
"item.target.m_79_blueprint": "M79 Blueprint", "item.target.m_79_blueprint": "M79 Blueprint",
"item.target.m_870_blueprint": "M870 Blueprint", "item.target.m_870_blueprint": "M870 Blueprint",

View file

@ -35,7 +35,7 @@
"item.target.hk_416": "Hk-416突击步枪", "item.target.hk_416": "Hk-416突击步枪",
"item.target.hunting_rifle": "猎枪", "item.target.hunting_rifle": "猎枪",
"item.target.svd": "SVD狙击步枪", "item.target.svd": "SVD狙击步枪",
"item.target.kraber": "克莱贝尔狙击步枪", "item.target.ntw_20": "NTW-20反器材狙击步枪",
"des.target.tips.damage": "伤害: ", "des.target.tips.damage": "伤害: ",
"des.target.tips.level": "等级: ", "des.target.tips.level": "等级: ",
@ -43,7 +43,7 @@
"item.target.vector_blueprint": "短剑冲锋枪蓝图", "item.target.vector_blueprint": "短剑冲锋枪蓝图",
"item.target.m_60_blueprint": "M60通用机枪蓝图", "item.target.m_60_blueprint": "M60通用机枪蓝图",
"item.target.hk_416_blueprint": "Hk-416突击步枪蓝图", "item.target.hk_416_blueprint": "Hk-416突击步枪蓝图",
"item.target.kraber_blueprint": "克莱贝尔狙击步枪蓝图", "item.target.ntw_20_blueprint": "NTW-20反器材狙击步枪蓝图",
"item.target.hunting_rifle_blueprint": "猎枪蓝图", "item.target.hunting_rifle_blueprint": "猎枪蓝图",
"item.target.m_79_blueprint": "M79 榴弹发射器蓝图", "item.target.m_79_blueprint": "M79 榴弹发射器蓝图",
"item.target.m_870_blueprint": "M870霰弹枪蓝图", "item.target.m_870_blueprint": "M870霰弹枪蓝图",

View file

@ -1,89 +0,0 @@
{
"credit": "Made with Blockbench",
"parent": "builtin/entity",
"texture_size": [
128,
128
],
"display": {
"thirdperson_righthand": {
"translation": [
0,
5.75,
-9.75
]
},
"thirdperson_lefthand": {
"translation": [
0,
5.75,
-9.75
]
},
"firstperson_righthand": {
"translation": [
18.25,
-17.75,
-37.25
],
"scale": [
4,
4,
4
]
},
"firstperson_lefthand": {
"translation": [
-3.5,
10,
-5.25
],
"scale": [
0,
0,
0
]
},
"ground": {
"translation": [
0,
7,
0
]
},
"gui": {
"rotation": [
30,
-145,
0
],
"translation": [
0.25,
2.75,
0
],
"scale": [
0.7,
0.7,
0.7
]
},
"fixed": {
"rotation": [
0,
-91,
0
],
"translation": [
3.5,
10.5,
-1.5
],
"scale": [
2,
2,
2
]
}
}
}

View file

@ -0,0 +1,22 @@
{
"credit": "Made with Blockbench",
"parent": "builtin/entity",
"texture_size": [
128,
128
],
"display": {
"firstperson_righthand": {
"translation": [
9.25,
-21.25,
-28
],
"scale": [
4,
4,
4
]
}
}
}

View file

@ -1,27 +0,0 @@
{
"loader": "forge:separate_transforms",
"gui_light": "front",
"base": {
"parent": "target:item/kraber_base"
},
"perspectives": {
"gui": {
"parent": "target:item/kraber_icon"
},
"thirdperson_righthand": {
"parent": "target:item/kraber3d"
},
"thirdperson_lefthand": {
"parent": "target:item/kraber3d"
},
"ground": {
"parent": "target:item/kraber3d"
},
"fixed": {
"parent": "target:item/kraber3d"
},
"head": {
"parent": "target:item/kraber3d"
}
}
}

View file

@ -1,6 +0,0 @@
{
"parent": "target:displaysettings/kraber.item",
"textures": {
"layer0": "target:item/kraber"
}
}

View file

@ -0,0 +1,27 @@
{
"loader": "forge:separate_transforms",
"gui_light": "front",
"base": {
"parent": "target:item/ntw_20_base"
},
"perspectives": {
"gui": {
"parent": "target:item/ntw_20_icon"
},
"thirdperson_righthand": {
"parent": "target:item/ntw_203d"
},
"thirdperson_lefthand": {
"parent": "target:item/ntw_203d"
},
"ground": {
"parent": "target:item/ntw_203d"
},
"fixed": {
"parent": "target:item/ntw_203d"
},
"head": {
"parent": "target:item/ntw_203d"
}
}
}

View file

@ -2,8 +2,8 @@
"credit": "Made with Blockbench", "credit": "Made with Blockbench",
"texture_size": [64, 64], "texture_size": [64, 64],
"textures": { "textures": {
"0": "target:item/kraber3d", "0": "target:item/ntw_203d",
"particle": "target:item/kraber3d" "particle": "target:item/ntw_203d"
}, },
"elements": [ "elements": [
{ {

View file

@ -0,0 +1,6 @@
{
"parent": "target:displaysettings/ntw20.item",
"textures": {
"layer0": "target:item/ntw_20"
}
}

View file

@ -1,6 +1,6 @@
{ {
"parent": "item/generated", "parent": "item/generated",
"textures": { "textures": {
"layer0": "target:item/kraber_icon" "layer0": "target:item/ntw_20_icon"
} }
} }

View file

@ -629,58 +629,58 @@
] ]
}, },
"kraber_fire_1p": { "ntw_20_fire_1p": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_fire_1p", "name": "target:ntw_20/ntw_20_fire_1p",
"stream": false "stream": false
} }
] ]
}, },
"kraber_fire_3p": { "ntw_20_fire_3p": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_fire_3p", "name": "target:ntw_20/ntw_20_fire_3p",
"stream": false "stream": false
} }
] ]
}, },
"kraber_far": { "ntw_20_far": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_far", "name": "target:ntw_20/ntw_20_far",
"stream": false "stream": false
} }
] ]
}, },
"kraber_veryfar": { "ntw_20_veryfar": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_veryfar", "name": "target:ntw_20/ntw_20_veryfar",
"stream": false "stream": false
} }
] ]
}, },
"kraber_reload_normal": { "ntw_20_reload_normal": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_reload_normal", "name": "target:ntw_20/ntw_20_reload_normal",
"stream": false "stream": false
} }
] ]
}, },
"kraber_reload_empty": { "ntw_20_reload_empty": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_reload_empty", "name": "target:ntw_20/ntw_20_reload_empty",
"stream": false "stream": false
} }
] ]
}, },
"kraber_bolt": { "ntw_20_bolt": {
"sounds": [ "sounds": [
{ {
"name": "target:kraber/kraber_bolt", "name": "target:ntw_20/ntw_20_bolt",
"stream": false "stream": false
} }
] ]

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

View file

Before

Width:  |  Height:  |  Size: 591 B

After

Width:  |  Height:  |  Size: 591 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

View file

Before

Width:  |  Height:  |  Size: 9.9 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

After

Width:  |  Height:  |  Size: 583 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View file

@ -1,17 +1,17 @@
{ {
"zoom_speed": 0.6, "zoom_speed": 0.6,
"zoom": 6, "zoom": 8,
"min_zoom": 4, "min_zoom": 4,
"max_zoom": 10, "max_zoom": 8,
"bipod": 1, "bipod": 1,
"dev": 6, "dev": 6,
"recoil_x": 0.008, "recoil_x": 0.002,
"recoil_y": 0.018, "recoil_y": 0.088,
"damage": 70, "damage": 140,
"headshot": 3, "headshot": 3,
"velocity": 32.5, "velocity": 31,
"projectile_amount": 1, "projectile_amount": 1,
"mag": 4, "mag": 3,
"fire_interval": 10, "fire_interval": 10,
"bolt_action_time": 30, "bolt_action_time": 30,
"weight": 2, "weight": 2,
@ -20,6 +20,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 68, "normal_reload_time": 64,
"empty_reload_time": 86 "empty_reload_time": 87
} }

View file

@ -188,7 +188,7 @@
}, },
{ {
"type": "minecraft:item", "type": "minecraft:item",
"name": "target:kraber_blueprint", "name": "target:ntw_20_blueprint",
"weight": 30, "weight": 30,
"functions": [ "functions": [
{ {

View file

@ -1,7 +1,7 @@
{ {
"type": "minecraft:smithing_transform", "type": "minecraft:smithing_transform",
"template": { "template": {
"item": "target:kraber_blueprint" "item": "target:ntw_20_blueprint"
}, },
"base": { "base": {
"item": "target:special_material_pack" "item": "target:special_material_pack"
@ -10,6 +10,6 @@
"item": "minecraft:spyglass" "item": "minecraft:spyglass"
}, },
"result": { "result": {
"item": "target:kraber" "item": "target:ntw_20"
} }
} }

View file

@ -11,14 +11,14 @@
"item": "minecraft:diamond" "item": "minecraft:diamond"
}, },
"b": { "b": {
"item": "target:kraber_blueprint" "item": "target:ntw_20_blueprint"
}, },
"c": { "c": {
"item": "minecraft:lapis_lazuli" "item": "minecraft:lapis_lazuli"
} }
}, },
"result": { "result": {
"item": "target:kraber_blueprint", "item": "target:ntw_20_blueprint",
"count": 2 "count": 2
} }
} }

View file

@ -13,7 +13,7 @@
"target:hk_416", "target:hk_416",
"target:rpk", "target:rpk",
"target:sks", "target:sks",
"target:kraber", "target:ntw_20",
"target:vector", "target:vector",
"target:minigun", "target:minigun",
"target:mk_14", "target:mk_14",

View file

@ -15,7 +15,7 @@
"target:devotion", "target:devotion",
"target:trachelium", "target:trachelium",
"target:hunting_rifle", "target:hunting_rifle",
"target:kraber", "target:ntw_20",
"target:m_98b", "target:m_98b",
"target:sentinel", "target:sentinel",
"target:m_870", "target:m_870",

View file

@ -13,7 +13,7 @@
"target:aa_12", "target:aa_12",
"target:m_4", "target:m_4",
"target:devotion", "target:devotion",
"target:kraber", "target:ntw_20",
"target:m_98b", "target:m_98b",
"target:sentinel" "target:sentinel"
] ]

View file

@ -2,7 +2,7 @@
"replace": false, "replace": false,
"values": [ "values": [
"target:hunting_rifle", "target:hunting_rifle",
"target:kraber", "target:ntw_20",
"target:sentinel", "target:sentinel",
"target:svd", "target:svd",
"target:m_98b" "target:m_98b"

View file

@ -2,7 +2,7 @@
"replace": false, "replace": false,
"values": [ "values": [
"target:bocek", "target:bocek",
"target:kraber", "target:ntw_20",
"target:minigun" "target:minigun"
] ]
} }