删除克莱伯,替换为牛头王20
|
@ -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);
|
||||||
}
|
}
|
|
@ -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());
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
|
@ -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);
|
||||||
|
|
|
@ -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")));
|
||||||
|
|
|
@ -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());
|
||||||
|
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
|
@ -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";
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
1527
src/main/resources/assets/target/animations/ntw_20.animation.json
Normal file
8554
src/main/resources/assets/target/geo/ntw_20.geo.json
Normal 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",
|
||||||
|
|
|
@ -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霰弹枪蓝图",
|
||||||
|
|
|
@ -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
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "target:displaysettings/kraber.item",
|
|
||||||
"textures": {
|
|
||||||
"layer0": "target:item/kraber"
|
|
||||||
}
|
|
||||||
}
|
|
27
src/main/resources/assets/target/models/item/ntw_20.json
Normal 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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -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": [
|
||||||
{
|
{
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "target:displaysettings/ntw20.item",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "target:item/ntw_20"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"parent": "item/generated",
|
"parent": "item/generated",
|
||||||
"textures": {
|
"textures": {
|
||||||
"layer0": "target:item/kraber_icon"
|
"layer0": "target:item/ntw_20_icon"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
BIN
src/main/resources/assets/target/sounds/ntw_20/ntw_20_bolt.ogg
Normal file
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 168 KiB |
Before Width: | Height: | Size: 69 KiB |
BIN
src/main/resources/assets/target/textures/item/ntw_20.png
Normal file
After Width: | Height: | Size: 131 KiB |
Before Width: | Height: | Size: 591 B After Width: | Height: | Size: 591 B |
BIN
src/main/resources/assets/target/textures/item/ntw_20_e.png
Normal file
After Width: | Height: | Size: 163 KiB |
Before Width: | Height: | Size: 9.9 KiB After Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 565 B After Width: | Height: | Size: 583 B |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
@ -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
|
||||||
}
|
}
|
|
@ -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": [
|
||||||
{
|
{
|
||||||
|
|
|
@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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",
|
||||||
|
|
|
@ -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",
|
||||||
|
|
|
@ -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"
|
||||||
]
|
]
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"target:bocek",
|
"target:bocek",
|
||||||
"target:kraber",
|
"target:ntw_20",
|
||||||
"target:minigun"
|
"target:minigun"
|
||||||
]
|
]
|
||||||
}
|
}
|