diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java index b23678ebe..53d38889a 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/AK47ItemModel.java @@ -79,9 +79,14 @@ public class AK47ItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.7 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.7 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); + if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) { + flare.setPosY(-0.75f); + } else { + flare.setPosY(0); + } } else { flare.setHidden(true); } diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java index d8bd42768..2ebfff9c4 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/DevotionItemModel.java @@ -94,8 +94,8 @@ public class DevotionItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.6 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.6 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java index f9e3ce233..5f88ef0bb 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Hk416ItemModel.java @@ -44,8 +44,8 @@ public class Hk416ItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.6 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.6 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java index 0950d29ae..cf2c4ceb9 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M4ItemModel.java @@ -75,8 +75,8 @@ public class M4ItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java index 50ed49a72..69410e54d 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/M60ItemModel.java @@ -118,8 +118,8 @@ public class M60ItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java index 6c7a0ae00..bee72eeca 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/Mk14ItemModel.java @@ -115,9 +115,14 @@ public class Mk14ItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.5 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.5 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); + if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) { + flare.setPosY(-3.5f); + } else { + flare.setPosY(0); + } } else { flare.setHidden(true); } diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java index c07105a23..6d6f47548 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/RpkItemModel.java @@ -96,8 +96,8 @@ public class RpkItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.7 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.7 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java index cbf17d4db..3195739d3 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SentinelItemModel.java @@ -146,8 +146,8 @@ public class SentinelItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java index 70da60349..79f34a36b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SksItemModel.java @@ -86,8 +86,8 @@ public class SksItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java index 658885768..3b71b9e8b 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/SvdItemModel.java @@ -109,8 +109,8 @@ public class SvdItemModel extends GeoModel { if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setHidden(false); - flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5))); - flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5))); + flare.setScaleX((float) (0.8 + 0.5 * (Math.random() - 0.5))); + flare.setScaleY((float) (0.8 + 0.5 * (Math.random() - 0.5))); flare.setRotZ((float) (0.5 * (Math.random() - 0.5))); } else { flare.setHidden(true); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java index ba5e657c4..88089cd88 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java @@ -22,6 +22,7 @@ import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; +import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EquipmentSlot; import net.minecraft.world.entity.LivingEntity; @@ -173,7 +174,11 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { && player.getPersistentData().getDouble("noRun") == 0 && !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading")) && !stack.getOrCreateTag().getBoolean("sentinel_is_charging")) { - return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.run")); + if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.run_fast")); + } else { + return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.run")); + } } return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.idle")); diff --git a/src/main/resources/assets/superbwarfare/animations/sentinel.animation.json b/src/main/resources/assets/superbwarfare/animations/sentinel.animation.json index abae9bab6..45d1a30fa 100644 --- a/src/main/resources/assets/superbwarfare/animations/sentinel.animation.json +++ b/src/main/resources/assets/superbwarfare/animations/sentinel.animation.json @@ -109,6 +109,91 @@ } } }, + "animation.sentinel.run_fast": { + "loop": true, + "animation_length": 0.7, + "bones": { + "0": { + "rotation": { + "0.0": { + "vector": [-65.32786, 12.14905, 0.43184] + }, + "0.175": { + "vector": [-65.21083, 16.27391, 6.66077], + "easing": "easeInSine" + }, + "0.35": { + "vector": [-68.74727, 14.25203, 5.74607], + "easing": "easeOutSine" + }, + "0.525": { + "vector": [-70.53091, 9.93418, -3.00092], + "easing": "easeInSine" + }, + "0.7": { + "vector": [-65.32786, 12.14905, 0.43184] + } + }, + "position": { + "0.0": { + "vector": [-4.52807, 0.28395, 1.288], + "easing": "easeOutSine" + }, + "0.175": { + "vector": [-5.57571, 2.65883, 1.2116], + "easing": "easeInSine" + }, + "0.35": { + "vector": [-7.57844, 0.1221, -0.22187], + "easing": "easeOutSine" + }, + "0.525": { + "vector": [-5.75027, 2.85577, 1.23384], + "easing": "easeInSine" + }, + "0.7": { + "vector": [-4.52807, 0.28395, 1.288], + "easing": "easeOutSine" + } + } + }, + "Lefthand": { + "rotation": { + "vector": [-1.41476, -16.33468, -1.66483] + }, + "position": { + "vector": [6, -13, 49] + } + }, + "Righthand": { + "rotation": { + "vector": [0.91131, 14.09621, -8.80599] + }, + "position": { + "vector": [2.87519, -0.6965, 0.78255] + } + }, + "camera": { + "rotation": { + "0.0": { + "vector": [-0.3, -0.3, 0.3] + }, + "0.175": { + "vector": [0.3, 0, -0.3] + }, + "0.35": { + "vector": [-0.3, 0.3, 0.3] + }, + "0.525": { + "vector": [0.3, 0, -0.3] + }, + "0.7": { + "vector": [-0.3, -0.3, 0.3] + } + } + } + } + }, "animation.sentinel.fire": { "animation_length": 0.01, "bones": { diff --git a/src/main/resources/assets/superbwarfare/geo/ak.geo.json b/src/main/resources/assets/superbwarfare/geo/ak.geo.json index d3c91888b..87d70ae0e 100644 --- a/src/main/resources/assets/superbwarfare/geo/ak.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/ak.geo.json @@ -42,10 +42,10 @@ { "name": "flare", "parent": "0", - "pivot": [0, 0.33125, 0.5], + "pivot": [0, 0.58125, 0.5], "cubes": [ { - "origin": [-2.5, -0.46875, -17.1], + "origin": [-2.5, -0.21875, -17.1], "size": [6, 5.11328, 0], "uv": { "north": {"uv": [124.75, 46.375], "uv_size": [-3.25, 3.375]},