提取部分通用方法,更改nbt名称及位置
|
@ -3,12 +3,15 @@ package net.mcreator.superbwarfare.client;
|
|||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.model.geom.ModelPart;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import software.bernie.geckolib.cache.object.GeoBone;
|
||||
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
|
||||
import software.bernie.geckolib.core.animation.AnimationProcessor;
|
||||
|
||||
public class AnimationHelper {
|
||||
|
||||
public static void renderPartOverBone(ModelPart model, GeoBone bone, PoseStack stack, VertexConsumer buffer, int packedLightIn, int packedOverlayIn, float alpha) {
|
||||
renderPartOverBone(model, bone, stack, buffer, packedLightIn, packedOverlayIn, 1.0f, 1.0f, 1.0f, alpha);
|
||||
}
|
||||
|
@ -34,4 +37,18 @@ public class AnimationHelper {
|
|||
|
||||
ClientEventHandler.handleShells(x, y, shell1, shell2, shell3, shell4, shell5);
|
||||
}
|
||||
|
||||
public static void handleReloadShakeAnimation(ItemStack stack, CoreGeoBone main, CoreGeoBone camera, float roll, float pitch) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) {
|
||||
main.setRotX(roll * main.getRotX());
|
||||
main.setRotY(roll * main.getRotY());
|
||||
main.setRotZ(roll * main.getRotZ());
|
||||
main.setPosX(pitch * main.getPosX());
|
||||
main.setPosY(pitch * main.getPosY());
|
||||
main.setPosZ(pitch * main.getPosZ());
|
||||
camera.setRotX(roll * camera.getRotX());
|
||||
camera.setRotY(roll * camera.getRotY());
|
||||
camera.setRotZ(roll * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,7 +13,7 @@ import software.bernie.geckolib.renderer.GeoRenderer;
|
|||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
||||
|
||||
public class HuntingRifleLayer extends GeoRenderLayer<HuntingRifleItem> {
|
||||
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle_e.png");
|
||||
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/hunting_rifle_e.png");
|
||||
|
||||
public HuntingRifleLayer(GeoRenderer<HuntingRifleItem> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
|
|
|
@ -13,7 +13,7 @@ import software.bernie.geckolib.renderer.GeoRenderer;
|
|||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
||||
|
||||
public class LightSaberLayer extends GeoRenderLayer<LightSaber> {
|
||||
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/lightsaber_e.png");
|
||||
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/light_saber_e.png");
|
||||
|
||||
public LightSaberLayer(GeoRenderer<LightSaber> entityRenderer) {
|
||||
super(entityRenderer);
|
||||
|
|
|
@ -164,19 +164,8 @@ public class AK12ItemModel extends GeoModel<AK12Item> {
|
|||
float numR = (float) (1 - 0.94 * zt);
|
||||
float numP = (float) (1 - 0.8 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.35f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,22 +16,23 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class AK47ItemModel extends GeoModel<AK47Item> {
|
||||
|
||||
public static float fireRotY = 0f;
|
||||
public static float fireRotZ = 0f;
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(AK47Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/ak.animation.json");
|
||||
return ModUtils.loc("animations/ak.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(AK47Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/ak.geo.json");
|
||||
return ModUtils.loc("geo/ak.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(AK47Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/ak47.png");
|
||||
return ModUtils.loc("textures/item/ak47.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -159,19 +160,8 @@ public class AK47ItemModel extends GeoModel<AK47Item> {
|
|||
float numR = (float) (1 - 0.98 * zt);
|
||||
float numP = (float) (1 - 0.92 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.35f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class Aa12ItemModel extends GeoModel<Aa12Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Aa12Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/aa12.animation.json");
|
||||
return ModUtils.loc("animations/aa12.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Aa12Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/aa12.geo.json");
|
||||
return ModUtils.loc("geo/aa12.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Aa12Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/aa12_new.png");
|
||||
return ModUtils.loc("textures/item/aa12_new.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -92,19 +93,8 @@ public class Aa12ItemModel extends GeoModel<Aa12Item> {
|
|||
float numR = (float) (1 - 0.82 * zt);
|
||||
float numP = (float) (1 - 0.68 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.55f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.shotgun.AbekiriItem;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class AbekiriItemModel extends GeoModel<AbekiriItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(AbekiriItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/abekiri.animation.json");
|
||||
return ModUtils.loc("animations/abekiri.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(AbekiriItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/abekiri.geo.json");
|
||||
return ModUtils.loc("geo/abekiri.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(AbekiriItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/abekiri.png");
|
||||
return ModUtils.loc("textures/item/abekiri.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -86,17 +88,7 @@ public class AbekiriItemModel extends GeoModel<AbekiriItem> {
|
|||
float numR = (float) (1 - 0.42 * zt);
|
||||
float numP = (float) (1 - 0.48 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,19 +14,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class BocekItemModel extends GeoModel<BocekItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(BocekItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/bocek.animation.json");
|
||||
return ModUtils.loc("animations/bocek.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(BocekItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/bocek.geo.json");
|
||||
return ModUtils.loc("geo/bocek.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(BocekItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/bocek.png");
|
||||
return ModUtils.loc("textures/item/bocek.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -95,7 +96,6 @@ public class BocekItemModel extends GeoModel<BocekItem> {
|
|||
deng3.setPosZ(0.05f * (float) bp);
|
||||
deng.setScaleZ(1f + (0.07f * (float) bp));
|
||||
|
||||
|
||||
lh.setRotX(0.2f * (float) zp);
|
||||
shen_pos.setPosX(-3.64f * (float) zp);
|
||||
shen_pos.setPosY(6.46f * (float) zp - (float) (0.2f * zpz));
|
||||
|
@ -120,6 +120,6 @@ public class BocekItemModel extends GeoModel<BocekItem> {
|
|||
root.setRotZ((float) (0.2f * movePosX + moveRotZ + Mth.DEG_TO_RAD * 90 * ClientEventHandler.drawTime + 2.7f * mph + Mth.DEG_TO_RAD * turnRotZ));
|
||||
|
||||
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,22 +17,22 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
import static net.mcreator.superbwarfare.event.PlayerEventHandler.isProne;
|
||||
|
||||
public class DevotionItemModel extends GeoModel<DevotionItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(DevotionItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/devotion.animation.json");
|
||||
return ModUtils.loc("animations/devotion.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(DevotionItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/devotion.geo.json");
|
||||
return ModUtils.loc("geo/devotion.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(DevotionItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/devotion.png");
|
||||
return ModUtils.loc("textures/item/devotion.png");
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setCustomAnimations(DevotionItem animatable, long instanceId, AnimationState animationState) {
|
||||
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
|
@ -108,19 +108,8 @@ public class DevotionItemModel extends GeoModel<DevotionItem> {
|
|||
float numR = (float) (1 - 0.82 * zt);
|
||||
float numP = (float) (1 - 0.78 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.55f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.handgun.Glock17Item;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -15,19 +16,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class Glock17ItemModel extends GeoModel<Glock17Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Glock17Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/glock17.animation.json");
|
||||
return ModUtils.loc("animations/glock17.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Glock17Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/glock17.geo.json");
|
||||
return ModUtils.loc("geo/glock17.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Glock17Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/glock17.png");
|
||||
return ModUtils.loc("textures/item/glock17.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -100,7 +102,7 @@ public class Glock17ItemModel extends GeoModel<Glock17Item> {
|
|||
float numR = (float) (1 - 0.12 * zt);
|
||||
float numP = (float) (1 - 0.68 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
@ -117,8 +119,8 @@ public class Glock17ItemModel extends GeoModel<Glock17Item> {
|
|||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f);
|
||||
|
||||
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
|
||||
|
|
|
@ -5,6 +5,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.handgun.Glock18Item;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -15,19 +16,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class Glock18ItemModel extends GeoModel<Glock18Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Glock18Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/glock17.animation.json");
|
||||
return ModUtils.loc("animations/glock17.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Glock18Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/glock18.geo.json");
|
||||
return ModUtils.loc("geo/glock18.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Glock18Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/glock17.png");
|
||||
return ModUtils.loc("textures/item/glock17.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -108,7 +110,7 @@ public class Glock18ItemModel extends GeoModel<Glock18Item> {
|
|||
float numR = (float) (1 - 0.12 * zt);
|
||||
float numP = (float) (1 - 0.68 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
@ -125,8 +127,8 @@ public class Glock18ItemModel extends GeoModel<Glock18Item> {
|
|||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f);
|
||||
|
||||
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
|
||||
|
|
|
@ -18,22 +18,24 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
import static net.mcreator.superbwarfare.event.PlayerEventHandler.isProne;
|
||||
|
||||
public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
||||
|
||||
public static float fireRotY = 0f;
|
||||
public static float fireRotZ = 0f;
|
||||
public static float rotXBipod = 0f;
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Hk416Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/hk416.animation.json");
|
||||
return ModUtils.loc("animations/hk416.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Hk416Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/hk416.geo.json");
|
||||
return ModUtils.loc("geo/hk416.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Hk416Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/hk416.png");
|
||||
return ModUtils.loc("textures/item/hk416.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -158,19 +160,8 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
|||
float numR = (float) (1 - 0.985 * zt);
|
||||
float numP = (float) (1 - 0.92 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.55f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.sniper.HuntingRifleItem;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class HuntingRifleItemModel extends GeoModel<HuntingRifleItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(HuntingRifleItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/hunting_rifle.animation.json");
|
||||
return ModUtils.loc("animations/hunting_rifle.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(HuntingRifleItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/hunting_rifle.geo.json");
|
||||
return ModUtils.loc("geo/hunting_rifle.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(HuntingRifleItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/huntingrifle.png");
|
||||
return ModUtils.loc("textures/item/hunting_rifle.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -105,17 +107,7 @@ public class HuntingRifleItemModel extends GeoModel<HuntingRifleItem> {
|
|||
float numR = (float) (1 - 0.82 * zt);
|
||||
float numP = (float) (1 - 0.78 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,19 +14,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class JavelinItemModel extends GeoModel<JavelinItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(JavelinItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/javelin.animation.json");
|
||||
return ModUtils.loc("animations/javelin.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(JavelinItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/javelin.geo.json");
|
||||
return ModUtils.loc("geo/javelin.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(JavelinItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/javelin.png");
|
||||
return ModUtils.loc("textures/item/javelin.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -81,6 +82,6 @@ public class JavelinItemModel extends GeoModel<JavelinItem> {
|
|||
root.setRotZ((float) (0.2f * movePosX + moveRotZ + Mth.DEG_TO_RAD * 90 * ClientEventHandler.drawTime + 2.7f * mph + Mth.DEG_TO_RAD * turnRotZ));
|
||||
|
||||
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import net.mcreator.superbwarfare.ModUtils;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.sniper.K98Item;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class K98ItemModel extends GeoModel<K98Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(K98Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/k98.animation.json");
|
||||
return ModUtils.loc("animations/k98.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(K98Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/kar98k.geo.json");
|
||||
return ModUtils.loc("geo/kar98k.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(K98Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/k98.png");
|
||||
return ModUtils.loc("textures/item/k98.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -102,7 +104,7 @@ public class K98ItemModel extends GeoModel<K98Item> {
|
|||
float numR = (float) (1 - 0.52 * zt);
|
||||
float numP = (float) (1 - 0.58 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0 || stack.getOrCreateTag().getBoolean("reloading")) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0 || stack.getOrCreateTag().getBoolean("reloading")) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
@ -119,6 +121,6 @@ public class K98ItemModel extends GeoModel<K98Item> {
|
|||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,6 +6,7 @@ import net.minecraft.resources.ResourceLocation;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class LightSaberItemModel extends GeoModel<LightSaber> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(LightSaber animatable) {
|
||||
return null;
|
||||
|
@ -13,11 +14,11 @@ public class LightSaberItemModel extends GeoModel<LightSaber> {
|
|||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(LightSaber animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/lightsaber.geo.json");
|
||||
return ModUtils.loc("geo/light_saber.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(LightSaber animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/lightsaber.png");
|
||||
return ModUtils.loc("textures/item/light_saber.png");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.handgun.M1911Item;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -15,19 +16,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class M1911ItemModel extends GeoModel<M1911Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(M1911Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/m1911.animation.json");
|
||||
return ModUtils.loc("animations/m1911.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(M1911Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/m1911.geo.json");
|
||||
return ModUtils.loc("geo/m1911.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(M1911Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/m1911.png");
|
||||
return ModUtils.loc("textures/item/m1911.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -98,7 +100,7 @@ public class M1911ItemModel extends GeoModel<M1911Item> {
|
|||
float numR = (float) (1 - 0.12 * zt);
|
||||
float numP = (float) (1 - 0.68 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
@ -115,8 +117,8 @@ public class M1911ItemModel extends GeoModel<M1911Item> {
|
|||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1f);
|
||||
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
import static net.mcreator.superbwarfare.event.PlayerEventHandler.isProne;
|
||||
|
||||
public class M4ItemModel extends GeoModel<M4Item> {
|
||||
|
||||
public static float posYAlt = 0.5625f;
|
||||
public static float scaleZAlt = 0.88f;
|
||||
public static float posZAlt = 7.6f;
|
||||
|
@ -28,17 +29,17 @@ public class M4ItemModel extends GeoModel<M4Item> {
|
|||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(M4Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/m4.animation.json");
|
||||
return ModUtils.loc("animations/m4.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(M4Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/m4.geo.json");
|
||||
return ModUtils.loc("geo/m4.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(M4Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/m4.png");
|
||||
return ModUtils.loc("textures/item/m4.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -80,9 +81,9 @@ public class M4ItemModel extends GeoModel<M4Item> {
|
|||
|
||||
int type = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.SCOPE);
|
||||
|
||||
posYAlt = Mth.lerp(times, posYAlt, stack.getOrCreateTag().getBoolean("ScopeAlt")? -0.6875f : 0.5625f);
|
||||
scaleZAlt = Mth.lerp(times, scaleZAlt, stack.getOrCreateTag().getBoolean("ScopeAlt")? 0.4f : 0.88f);
|
||||
posZAlt = Mth.lerp(times, posZAlt, stack.getOrCreateTag().getBoolean("ScopeAlt")? 5.5f : 7.6f);
|
||||
posYAlt = Mth.lerp(times, posYAlt, stack.getOrCreateTag().getBoolean("ScopeAlt") ? -0.6875f : 0.5625f);
|
||||
scaleZAlt = Mth.lerp(times, scaleZAlt, stack.getOrCreateTag().getBoolean("ScopeAlt") ? 0.4f : 0.88f);
|
||||
posZAlt = Mth.lerp(times, posZAlt, stack.getOrCreateTag().getBoolean("ScopeAlt") ? 5.5f : 7.6f);
|
||||
rotXSight = Mth.lerp(1.5f * times, rotXSight, type == 0 ? 0 : 90);
|
||||
|
||||
float posY = switch (type) {
|
||||
|
@ -178,19 +179,8 @@ public class M4ItemModel extends GeoModel<M4Item> {
|
|||
float numR = (float) (1 - 0.985 * zt);
|
||||
float numP = (float) (1 - 0.92 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.55f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import net.mcreator.superbwarfare.client.AnimationHelper;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.machinegun.M60Item;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -17,19 +18,20 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
import static net.mcreator.superbwarfare.event.PlayerEventHandler.isProne;
|
||||
|
||||
public class M60ItemModel extends GeoModel<M60Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(M60Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/m60.animation.json");
|
||||
return ModUtils.loc("animations/m60.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(M60Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/m60.geo.json");
|
||||
return ModUtils.loc("geo/m60.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(M60Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/m60.png");
|
||||
return ModUtils.loc("textures/item/m60.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -143,7 +145,7 @@ public class M60ItemModel extends GeoModel<M60Item> {
|
|||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.45f);
|
||||
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.launcher.M79Item;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class M79ItemModel extends GeoModel<M79Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(M79Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/m79.animation.json");
|
||||
return ModUtils.loc("animations/m79.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(M79Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/m79.geo.json");
|
||||
return ModUtils.loc("geo/m79.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(M79Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/m79.png");
|
||||
return ModUtils.loc("textures/item/m79.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -92,17 +94,7 @@ public class M79ItemModel extends GeoModel<M79Item> {
|
|||
float numR = (float) (1 - 0.58 * zt);
|
||||
float numP = (float) (1 - 0.58 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,19 +14,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class M870ItemModel extends GeoModel<M870Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(M870Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/m870.animation.json");
|
||||
return ModUtils.loc("animations/m870.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(M870Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/m870.geo.json");
|
||||
return ModUtils.loc("geo/m870.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(M870Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/m870.png");
|
||||
return ModUtils.loc("textures/item/m870.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -95,6 +96,7 @@ public class M870ItemModel extends GeoModel<M870Item> {
|
|||
float numR = (float) (1 - 0.72 * zt);
|
||||
float numP = (float) (1 - 0.82 * zt);
|
||||
|
||||
// TODO 修改本nbt
|
||||
if (stack.getOrCreateTag().getBoolean("reloading")) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
|
@ -106,6 +108,6 @@ public class M870ItemModel extends GeoModel<M870Item> {
|
|||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import net.mcreator.superbwarfare.ModUtils;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.sniper.M98bItem;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class M98bItemModel extends GeoModel<M98bItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(M98bItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/m98b.animation.json");
|
||||
return ModUtils.loc("animations/m98b.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(M98bItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/m98b.geo.json");
|
||||
return ModUtils.loc("geo/m98b.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(M98bItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/m98b.png");
|
||||
return ModUtils.loc("textures/item/m98b.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -99,7 +101,7 @@ public class M98bItemModel extends GeoModel<M98bItem> {
|
|||
float numR = (float) (1 - 0.88 * zt);
|
||||
float numP = (float) (1 - 0.68 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
@ -117,6 +119,6 @@ public class M98bItemModel extends GeoModel<M98bItem> {
|
|||
scope.setPosY(numP * scope.getPosY());
|
||||
scope.setPosZ(numP * scope.getPosZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,19 +14,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class MarlinItemModel extends GeoModel<MarlinItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(MarlinItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/marlin.animation.json");
|
||||
return ModUtils.loc("animations/marlin.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(MarlinItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/marlin.geo.json");
|
||||
return ModUtils.loc("geo/marlin.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(MarlinItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/marlin.png");
|
||||
return ModUtils.loc("textures/item/marlin.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -59,13 +60,9 @@ public class MarlinItemModel extends GeoModel<MarlinItem> {
|
|||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(1.712f * (float) zp);
|
||||
|
||||
gun.setPosY(1.06f * (float) zp - (float) (0.7f * zpz));
|
||||
|
||||
gun.setPosZ(4f * (float) zp + (float) (0.9f * zpz));
|
||||
|
||||
gun.setRotZ((float) (0.02f * zpz));
|
||||
|
||||
gun.setScaleZ(1f - (0.5f * (float) zp));
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
|
@ -99,6 +96,7 @@ public class MarlinItemModel extends GeoModel<MarlinItem> {
|
|||
float numR = (float) (1 - 0.55 * zt);
|
||||
float numP = (float) (1 - 0.88 * zt);
|
||||
|
||||
// TODO 修改本nbt
|
||||
if (stack.getOrCreateTag().getBoolean("reloading")) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
|
@ -110,6 +108,6 @@ public class MarlinItemModel extends GeoModel<MarlinItem> {
|
|||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,19 +14,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class MinigunItemModel extends GeoModel<MinigunItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(MinigunItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/minigun.animation.json");
|
||||
return ModUtils.loc("animations/minigun.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(MinigunItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/minigun.geo.json");
|
||||
return ModUtils.loc("geo/minigun.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(MinigunItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/minigun.png");
|
||||
return ModUtils.loc("textures/item/minigun.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -77,6 +78,6 @@ public class MinigunItemModel extends GeoModel<MinigunItem> {
|
|||
root.setRotZ((float) (0.2f * movePosX + moveRotZ + Mth.DEG_TO_RAD * 90 * ClientEventHandler.drawTime + 2.7f * mph + Mth.DEG_TO_RAD * turnRotZ));
|
||||
|
||||
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,19 +17,20 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
import static net.mcreator.superbwarfare.event.PlayerEventHandler.isProne;
|
||||
|
||||
public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Mk14Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/mk14ebr.animation.json");
|
||||
return ModUtils.loc("animations/mk14ebr.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Mk14Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/mk14ebr.geo.json");
|
||||
return ModUtils.loc("geo/mk14ebr.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Mk14Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/mk14.png");
|
||||
return ModUtils.loc("textures/item/mk14.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -117,20 +118,10 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
|||
float numR = (float) (1 - 0.95 * zt);
|
||||
float numP = (float) (1 - 0.94 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.9f, 0.95f);
|
||||
|
||||
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
|
||||
|
||||
if (stack.getOrCreateTag().getBoolean("HoldOpen")) {
|
||||
|
@ -139,7 +130,6 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
|||
shell.setScaleY(0);
|
||||
shell.setScaleZ(0);
|
||||
} else {
|
||||
|
||||
shell.setScaleX(1);
|
||||
shell.setScaleY(1);
|
||||
shell.setScaleZ(1);
|
||||
|
|
|
@ -14,19 +14,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class MosinNagantItemModel extends GeoModel<MosinNagantItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(MosinNagantItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/mosin_nagant.animation.json");
|
||||
return ModUtils.loc("animations/mosin_nagant.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(MosinNagantItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/mosin_nagant.geo.json");
|
||||
return ModUtils.loc("geo/mosin_nagant.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(MosinNagantItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/mosin_nagant.png");
|
||||
return ModUtils.loc("textures/item/mosin_nagant.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -116,6 +117,7 @@ public class MosinNagantItemModel extends GeoModel<MosinNagantItem> {
|
|||
float numR = (float) (1 - 0.97 * zt);
|
||||
float numP = (float) (1 - 0.81 * zt);
|
||||
|
||||
// TODO 修改本nbt
|
||||
if (stack.getOrCreateTag().getBoolean("reloading") || stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
|
|
|
@ -4,6 +4,7 @@ import net.mcreator.superbwarfare.ModUtils;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.sniper.Ntw20Item;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -16,19 +17,20 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
import static net.mcreator.superbwarfare.event.PlayerEventHandler.isProne;
|
||||
|
||||
public class Ntw20Model extends GeoModel<Ntw20Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Ntw20Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/ntw_20.animation.json");
|
||||
return ModUtils.loc("animations/ntw_20.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Ntw20Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/ntw_20.geo.json");
|
||||
return ModUtils.loc("geo/ntw_20.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Ntw20Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/ntw_20.png");
|
||||
return ModUtils.loc("textures/item/ntw_20.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -103,7 +105,7 @@ public class Ntw20Model extends GeoModel<Ntw20Item> {
|
|||
float numR = (float) (1 - 0.92 * zt);
|
||||
float numP = (float) (1 - 0.88 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0 || stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0 || stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.rifle.Qbz95Item;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class Qbz95ItemModel extends GeoModel<Qbz95Item> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Qbz95Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/qbz95.animation.json");
|
||||
return ModUtils.loc("animations/qbz95.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Qbz95Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/qbz95.geo.json");
|
||||
return ModUtils.loc("geo/qbz95.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Qbz95Item animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/qbz95.png");
|
||||
return ModUtils.loc("textures/item/qbz95.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -99,17 +101,7 @@ public class Qbz95ItemModel extends GeoModel<Qbz95Item> {
|
|||
float numR = (float) (1 - 0.92 * zt);
|
||||
float numP = (float) (1 - 0.88 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,18 +6,19 @@ import net.minecraft.resources.ResourceLocation;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class RocketItemModel extends GeoModel<Rocket> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Rocket animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/rpg.head.animation.json");
|
||||
return ModUtils.loc("animations/rpg.head.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Rocket animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/rpg.head.geo.json");
|
||||
return ModUtils.loc("geo/rpg.head.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Rocket animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/rpg7.png");
|
||||
return ModUtils.loc("textures/item/rpg7.png");
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.launcher.RpgItem;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class RpgItemModel extends GeoModel<RpgItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(RpgItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/rpg.animation.json");
|
||||
return ModUtils.loc("animations/rpg.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(RpgItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/rpg.geo.json");
|
||||
return ModUtils.loc("geo/rpg.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(RpgItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/rpg7.png");
|
||||
return ModUtils.loc("textures/item/rpg7.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -95,17 +97,7 @@ public class RpgItemModel extends GeoModel<RpgItem> {
|
|||
float numR = (float) (1 - 0.82 * zt);
|
||||
float numP = (float) (1 - 0.78 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class RpkItemModel extends GeoModel<RpkItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(RpkItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/rpk.animation.json");
|
||||
return ModUtils.loc("animations/rpk.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(RpkItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/rpk.geo.json");
|
||||
return ModUtils.loc("geo/rpk.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(RpkItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/rpk.png");
|
||||
return ModUtils.loc("textures/item/rpk.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -102,19 +103,8 @@ public class RpkItemModel extends GeoModel<RpkItem> {
|
|||
float numR = (float) (1 - 0.94 * zt);
|
||||
float numP = (float) (1 - 0.8 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.55f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import net.mcreator.superbwarfare.ModUtils;
|
|||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.sniper.SentinelItem;
|
||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class SentinelItemModel extends GeoModel<SentinelItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(SentinelItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/sentinel.animation.json");
|
||||
return ModUtils.loc("animations/sentinel.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(SentinelItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/sentinel.geo.json");
|
||||
return ModUtils.loc("geo/sentinel.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(SentinelItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/sentinel.png");
|
||||
return ModUtils.loc("textures/item/sentinel.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -61,17 +63,12 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
|
|||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(2.928f * (float) zp);
|
||||
|
||||
gun.setPosY(-0.062f * (float) zp - (float) (0.1f * zpz));
|
||||
|
||||
gun.setPosZ(10f * (float) zp + (float) (0.3f * zpz));
|
||||
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
|
||||
gun.setScaleZ(1f - (0.7f * (float) zp));
|
||||
|
||||
scope.setScaleZ(1f - (0.8f * (float) zp));
|
||||
|
||||
cb.setRotZ(cb.getRotZ() + times * 0.03f * (float) (stack.getOrCreateTag().getDouble("chamber_rot")));
|
||||
|
||||
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
|
||||
|
@ -112,7 +109,7 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
|
|||
float numR = (float) (1 - 0.9 * zt);
|
||||
float numP = (float) (1 - 0.98 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0 || stack.getOrCreateTag().getBoolean("sentinel_is_charging")) {
|
||||
if (GunsTool.getGunIntTag(stack, "ReloadTime") > 0 || stack.getOrCreateTag().getBoolean("sentinel_is_charging")) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
|
|
|
@ -15,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class SksItemModel extends GeoModel<SksItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(SksItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/sks.animation.json");
|
||||
return ModUtils.loc("animations/sks.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(SksItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/sks.geo.json");
|
||||
return ModUtils.loc("geo/sks.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(SksItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/sks.png");
|
||||
return ModUtils.loc("textures/item/sks.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -60,15 +61,11 @@ public class SksItemModel extends GeoModel<SksItem> {
|
|||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(1.53f * (float) zp);
|
||||
|
||||
gun.setPosY(0.34f * (float) zp - (float) (0.6f * zpz));
|
||||
|
||||
gun.setPosZ(2.5f * (float) zp + (float) (0.5f * zpz));
|
||||
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.2));
|
||||
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", gun.getPosX() <= 1.2);
|
||||
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
|
@ -100,17 +97,7 @@ public class SksItemModel extends GeoModel<SksItem> {
|
|||
float numR = (float) (1 - 0.92 * zt);
|
||||
float numP = (float) (1 - 0.88 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.7f, 1.2f);
|
||||
|
|
|
@ -16,19 +16,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class SvdItemModel extends GeoModel<SvdItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(SvdItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/svd.animation.json");
|
||||
return ModUtils.loc("animations/svd.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(SvdItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/svd.geo.json");
|
||||
return ModUtils.loc("geo/svd.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(SvdItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/svd.png");
|
||||
return ModUtils.loc("textures/item/svd.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -70,22 +71,15 @@ public class SvdItemModel extends GeoModel<SvdItem> {
|
|||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(2.02f * (float) zp);
|
||||
|
||||
gun.setPosY(0.85f * (float) zp - (float) (0.6f * zpz));
|
||||
|
||||
gun.setPosZ(13.2f * (float) zp + (float) (0.5f * zpz));
|
||||
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
|
||||
gun.setScaleZ(1f - (0.8f * (float) zp));
|
||||
|
||||
scope.setScaleZ(1f - (0.95f * (float) zp));
|
||||
|
||||
bt1.setScaleY(1f - (0.5f * (float) zp));
|
||||
|
||||
bt2.setScaleX(1f - (0.5f * (float) zp));
|
||||
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.9));
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", gun.getPosX() <= 1.9);
|
||||
|
||||
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
|
||||
|
@ -128,19 +122,8 @@ public class SvdItemModel extends GeoModel<SvdItem> {
|
|||
float numR = (float) (1 - 0.94 * zt);
|
||||
float numP = (float) (1 - 0.88 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.65f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModPerks;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
|
@ -22,17 +23,17 @@ public class TaserItemModel extends GeoModel<TaserItem> {
|
|||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(TaserItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/taser.animation.json");
|
||||
return ModUtils.loc("animations/taser.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(TaserItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/taser.geo.json");
|
||||
return ModUtils.loc("geo/taser.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(TaserItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/tasergun.png");
|
||||
return ModUtils.loc("textures/item/tasergun.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -106,11 +107,8 @@ public class TaserItemModel extends GeoModel<TaserItem> {
|
|||
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));
|
||||
|
||||
gun.setPosX(1.82f * (float) zp);
|
||||
|
||||
gun.setPosY(1.3f * (float) zp - (float) (0.3f * zpz));
|
||||
|
||||
gun.setPosZ((float) zp + (float) (0.5f * zpz));
|
||||
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
|
||||
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
||||
|
@ -126,17 +124,7 @@ public class TaserItemModel extends GeoModel<TaserItem> {
|
|||
float numR = (float) (1 - 0.72 * zt);
|
||||
float numP = (float) (1 - 0.68 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
package net.mcreator.superbwarfare.client.model.item;
|
||||
|
||||
import net.mcreator.superbwarfare.ModUtils;
|
||||
import net.mcreator.superbwarfare.client.AnimationHelper;
|
||||
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||
import net.mcreator.superbwarfare.init.ModTags;
|
||||
import net.mcreator.superbwarfare.item.gun.handgun.Trachelium;
|
||||
|
@ -14,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class TracheliumItemModel extends GeoModel<Trachelium> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Trachelium animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/trachelium.animation.json");
|
||||
return ModUtils.loc("animations/trachelium.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(Trachelium animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/trachelium.geo.json");
|
||||
return ModUtils.loc("geo/trachelium.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(Trachelium animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/trachelium_texture.png");
|
||||
return ModUtils.loc("textures/item/trachelium_texture.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -58,13 +60,9 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(1.48f * (float) zp);
|
||||
|
||||
gun.setPosY(3.2f * (float) zp - (float) (0.6f * zpz));
|
||||
|
||||
gun.setPosZ((float) zp + (float) (0.5f * zpz));
|
||||
|
||||
gun.setRotZ(-0.087f * (float) zp + (float) (0.05f * zpz));
|
||||
|
||||
gun.setScaleZ(1f - (0.2f * (float) zp));
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
|
@ -94,17 +92,7 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
float numR = (float) (1 - 0.22 * zt);
|
||||
float numP = (float) (1 - 0.48 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(),Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,19 +15,20 @@ import software.bernie.geckolib.core.animation.AnimationState;
|
|||
import software.bernie.geckolib.model.GeoModel;
|
||||
|
||||
public class VectorItemModel extends GeoModel<VectorItem> {
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(VectorItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "animations/vector.animation.json");
|
||||
return ModUtils.loc("animations/vector.animation.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getModelResource(VectorItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "geo/vector.geo.json");
|
||||
return ModUtils.loc("geo/vector.geo.json");
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResourceLocation getTextureResource(VectorItem animatable) {
|
||||
return new ResourceLocation(ModUtils.MODID, "textures/item/vector.png");
|
||||
return ModUtils.loc("textures/item/vector.png");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -71,16 +72,12 @@ public class VectorItemModel extends GeoModel<VectorItem> {
|
|||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(2.35f * (float) zp);
|
||||
|
||||
gun.setPosY(0.74f * (float) zp - (float) (0.2f * zpz));
|
||||
|
||||
gun.setPosZ(5f * (float) zp + (float) (0.3f * zpz));
|
||||
|
||||
gun.setScaleZ(1f - (0.5f * (float) zp));
|
||||
|
||||
scope.setScaleZ(1f - (0.2f * (float) zp));
|
||||
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 2));
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", gun.getPosX() <= 2);
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (-0.05f * fp - 0.04f * fr));
|
||||
|
@ -109,21 +106,8 @@ public class VectorItemModel extends GeoModel<VectorItem> {
|
|||
float numR = (float) (1 - 0.92 * zt);
|
||||
float numP = (float) (1 - 0.88 * zt);
|
||||
|
||||
if (stack.getOrCreateTag().getInt("gun_reloading_time") > 0) {
|
||||
main.setRotX(numR * main.getRotX());
|
||||
main.setRotY(numR * main.getRotY());
|
||||
main.setRotZ(numR * main.getRotZ());
|
||||
main.setPosX(numP * main.getPosX());
|
||||
main.setPosY(numP * main.getPosY());
|
||||
main.setPosZ(numP * main.getPosZ());
|
||||
camera.setRotX(numR * camera.getRotX());
|
||||
camera.setRotY(numR * camera.getRotY());
|
||||
camera.setRotZ(numR * camera.getRotZ());
|
||||
}
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1.2f, 0.45f);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -280,21 +280,22 @@ public class GunEventHandler {
|
|||
private static void handleGunReload(Player player) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
CompoundTag tag = stack.getOrCreateTag();
|
||||
//启动换弹
|
||||
CompoundTag data = stack.getOrCreateTag().getCompound("GunData");
|
||||
// 启动换弹
|
||||
if (tag.getBoolean("start_reload")) {
|
||||
MinecraftForge.EVENT_BUS.post(new ReloadEvent.Pre(player, stack));
|
||||
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
||||
if (tag.getInt("ammo") == 0) {
|
||||
tag.putInt("gun_reloading_time", (int) tag.getDouble("empty_reload_time") + 2);
|
||||
data.putInt("ReloadTime", (int) tag.getDouble("empty_reload_time") + 2);
|
||||
stack.getOrCreateTag().putBoolean("is_empty_reloading", true);
|
||||
playGunEmptyReloadSounds(player);
|
||||
} else {
|
||||
tag.putInt("gun_reloading_time", (int) tag.getDouble("normal_reload_time") + 2);
|
||||
data.putInt("ReloadTime", (int) tag.getDouble("normal_reload_time") + 2);
|
||||
stack.getOrCreateTag().putBoolean("is_normal_reloading", true);
|
||||
playGunNormalReloadSounds(player);
|
||||
}
|
||||
} else {
|
||||
tag.putInt("gun_reloading_time", (int) tag.getDouble("empty_reload_time") + 2);
|
||||
data.putInt("ReloadTime", (int) tag.getDouble("empty_reload_time") + 2);
|
||||
stack.getOrCreateTag().putBoolean("is_empty_reloading", true);
|
||||
playGunEmptyReloadSounds(player);
|
||||
}
|
||||
|
@ -304,50 +305,50 @@ public class GunEventHandler {
|
|||
tag.putBoolean("start_reload", false);
|
||||
}
|
||||
|
||||
if (tag.getInt("gun_reloading_time") > 0) {
|
||||
tag.putInt("gun_reloading_time", tag.getInt("gun_reloading_time") - 1);
|
||||
if (data.getInt("ReloadTime") > 0) {
|
||||
data.putInt("ReloadTime", data.getInt("ReloadTime") - 1);
|
||||
}
|
||||
|
||||
if (stack.getItem() == ModItems.RPG.get()) {
|
||||
if (tag.getInt("gun_reloading_time") == 84) {
|
||||
if (data.getInt("ReloadTime") == 84) {
|
||||
tag.putBoolean("empty", false);
|
||||
}
|
||||
if (tag.getInt("gun_reloading_time") == 7) {
|
||||
if (data.getInt("ReloadTime") == 7) {
|
||||
tag.putBoolean("close_hammer", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (stack.getItem() == ModItems.MK_14.get()) {
|
||||
if (tag.getInt("gun_reloading_time") == 18) {
|
||||
if (data.getInt("ReloadTime") == 18) {
|
||||
tag.putBoolean("HoldOpen", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (stack.getItem() == ModItems.SKS.get()) {
|
||||
if (tag.getInt("gun_reloading_time") == 14) {
|
||||
if (data.getInt("ReloadTime") == 14) {
|
||||
tag.putBoolean("HoldOpen", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (stack.getItem() == ModItems.M_60.get()) {
|
||||
if (tag.getInt("gun_reloading_time") == 55) {
|
||||
if (data.getInt("ReloadTime") == 55) {
|
||||
tag.putBoolean("bullet_chain", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (stack.getItem() == ModItems.GLOCK_17.get() || stack.getItem() == ModItems.GLOCK_18.get() || stack.getItem() == ModItems.M_1911.get()) {
|
||||
if (tag.getInt("gun_reloading_time") == 5) {
|
||||
if (data.getInt("ReloadTime") == 5) {
|
||||
tag.putBoolean("HoldOpen", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (stack.getItem() == ModItems.QBZ_95.get()) {
|
||||
if (tag.getInt("gun_reloading_time") == 14) {
|
||||
if (data.getInt("ReloadTime") == 14) {
|
||||
tag.putBoolean("HoldOpen", false);
|
||||
}
|
||||
}
|
||||
|
||||
if (tag.getInt("gun_reloading_time") == 1) {
|
||||
if (data.getInt("ReloadTime") == 1) {
|
||||
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
||||
if (tag.getInt("ammo") == 0) {
|
||||
playGunEmptyReload(player);
|
||||
|
@ -358,6 +359,8 @@ public class GunEventHandler {
|
|||
playGunEmptyReload(player);
|
||||
}
|
||||
}
|
||||
|
||||
stack.addTagElement("GunData", data);
|
||||
}
|
||||
|
||||
public static void playGunNormalReload(Player player) {
|
||||
|
|
|
@ -178,4 +178,15 @@ public class GunsTool {
|
|||
}
|
||||
}
|
||||
|
||||
public static void setGunIntTag(ItemStack stack, String name, int num) {
|
||||
CompoundTag tag = stack.getOrCreateTag().getCompound("GunData");
|
||||
tag.putInt(name, num);
|
||||
stack.addTagElement("GunData", tag);
|
||||
}
|
||||
|
||||
public static int getGunIntTag(ItemStack stack, String name) {
|
||||
CompoundTag tag = stack.getOrCreateTag().getCompound("GunData");
|
||||
return tag.getInt(name);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 8.5 KiB After Width: | Height: | Size: 8.5 KiB |