优化rpg和加特林
This commit is contained in:
parent
2cd5efbdee
commit
15c6251e2c
9 changed files with 126 additions and 63 deletions
|
@ -54,28 +54,17 @@ public class MinigunItemModel extends GeoModel<Minigun> {
|
|||
double fp = player.getPersistentData().getDouble("fire_pos");
|
||||
double fr = player.getPersistentData().getDouble("fire_rot");
|
||||
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
|
||||
shen.setPosY(0.02f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(0.6f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.003f * (float) (fp + fr));
|
||||
shen.setRotZ(0f);
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.015f * (float) fr);
|
||||
} else {
|
||||
shen.setRotY(-0.015f * (float) fr);
|
||||
}
|
||||
shen.setPosY(0.1f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(2.2f * (float) (0.5 * fp + 1.54f * fr));
|
||||
shen.setRotX(0.05f * (float) (0.18f * fp + fr));
|
||||
shen.setRotZ(-0.02f * (float) (fp + 1.3 * fr));
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.055f * (float) fr);
|
||||
} else {
|
||||
shen.setPosY(0.04f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(1.2f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.03f * (float) (0.18f * fp + fr));
|
||||
shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr));
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.045f * (float) fr);
|
||||
} else {
|
||||
shen.setRotY(-0.045f * (float) fr);
|
||||
}
|
||||
shen.setRotY(-0.055f * (float) fr);
|
||||
}
|
||||
|
||||
|
||||
if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
|
||||
flare.setHidden(false);
|
||||
light.setHidden(false);
|
||||
|
|
|
@ -32,14 +32,19 @@ public class RpgItemModel extends GeoModel<RpgItem> {
|
|||
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
|
||||
CoreGeoBone rocket = getAnimationProcessor().getBone("Rockets");
|
||||
CoreGeoBone shen = getAnimationProcessor().getBone("rpg");
|
||||
CoreGeoBone hammer = getAnimationProcessor().getBone("hammer");
|
||||
|
||||
Player player = Minecraft.getInstance().player;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
|
||||
if (stack.getOrCreateTag().getDouble("empty") == 1) {
|
||||
rocket.setScaleX(0);
|
||||
rocket.setScaleY(0);
|
||||
rocket.setScaleZ(0);
|
||||
if (stack.getOrCreateTag().getBoolean("empty")) {
|
||||
rocket.setHidden(true);
|
||||
} else {
|
||||
rocket.setHidden(false);
|
||||
}
|
||||
|
||||
if (stack.getOrCreateTag().getBoolean("close_hammer")) {
|
||||
hammer.setRotX(-90 * Mth.DEG_TO_RAD);
|
||||
}
|
||||
|
||||
double fp = player.getPersistentData().getDouble("fire_pos");
|
||||
|
@ -84,13 +89,12 @@ public class RpgItemModel extends GeoModel<RpgItem> {
|
|||
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
|
||||
|
||||
if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
|
||||
flare.setHidden(false);
|
||||
flare.setScaleX((float) (1.0 + 0.5 * (Math.random() - 0.5)));
|
||||
flare.setScaleY((float) (1.0 + 0.5 * (Math.random() - 0.5)));
|
||||
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
|
||||
} else {
|
||||
flare.setScaleX(0);
|
||||
flare.setScaleY(0);
|
||||
flare.setRotZ(0);
|
||||
flare.setHidden(true);
|
||||
}
|
||||
|
||||
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
||||
|
|
|
@ -186,7 +186,7 @@ public class RpgItem extends GunItem implements GeoItem, AnimatedItem {
|
|||
tag.putDouble("reload_time", 0);
|
||||
}
|
||||
if (tag.getBoolean("reloading")) {
|
||||
if (tag.getDouble("reload_time") == 91) {
|
||||
if (tag.getDouble("reload_time") == 97) {
|
||||
entity.getPersistentData().putDouble("id", id);
|
||||
if (entity.getServer() != null) {
|
||||
SoundTool.playLocalSound(player, TargetModSounds.RPG_RELOAD.get(), 100, 1);
|
||||
|
@ -203,7 +203,10 @@ public class RpgItem extends GunItem implements GeoItem, AnimatedItem {
|
|||
tag.putBoolean("empty_reload", false);
|
||||
}
|
||||
if (tag.getDouble("reload_time") == 84) {
|
||||
tag.putDouble("empty", 0);
|
||||
tag.putBoolean("empty", false);
|
||||
}
|
||||
if (tag.getDouble("reload_time") == 7) {
|
||||
tag.putBoolean("close_hammer", false);
|
||||
}
|
||||
if (tag.getDouble("reload_time") == 1 && player.getMainHandItem().getOrCreateTag().getDouble("id") == id) {
|
||||
if (tag.getInt("max_ammo") >= 0) {
|
||||
|
|
|
@ -65,7 +65,7 @@ public class PlayerReloadProcedure {
|
|||
tag.putBoolean("reloading", true);
|
||||
tag.putDouble("empty_reload", 1);
|
||||
tag.putDouble("id", (Mth.nextDouble(RandomSource.create(), 1, 1919810)));
|
||||
tag.putDouble("reload_time", 91);
|
||||
tag.putDouble("reload_time", 97);
|
||||
}
|
||||
if (player.getMainHandItem().getItem() == TargetModItems.ABEKIRI.get()
|
||||
&& !(player.getCooldowns().isOnCooldown(player.getMainHandItem().getItem()))
|
||||
|
|
|
@ -52,7 +52,8 @@ public class RpgFireProcedure {
|
|||
}
|
||||
|
||||
if (tag.getInt("ammo") == 1) {
|
||||
tag.putDouble("empty", 1);
|
||||
tag.putBoolean("empty", true);
|
||||
tag.putBoolean("close_hammer", true);
|
||||
}
|
||||
|
||||
player.getCooldowns().addCooldown(mainHandItem.getItem(), 10);
|
||||
|
|
|
@ -160,7 +160,8 @@
|
|||
"animation_length": 0.1
|
||||
},
|
||||
"animation.rpg.reload": {
|
||||
"animation_length": 4.5,
|
||||
"loop": "hold_on_last_frame",
|
||||
"animation_length": 5,
|
||||
"bones": {
|
||||
"0": {
|
||||
"rotation": {
|
||||
|
@ -213,7 +214,20 @@
|
|||
"4.0": {
|
||||
"vector": [25.6001, -5.50887, 2.34743]
|
||||
},
|
||||
"4.2": {
|
||||
"vector": [0, 0, -8],
|
||||
"easing": "easeInOutSine"
|
||||
},
|
||||
"4.3": {
|
||||
"vector": [3, 0, -3.24]
|
||||
},
|
||||
"4.4": {
|
||||
"vector": [-1, 0, 6.38]
|
||||
},
|
||||
"4.6": {
|
||||
"vector": [0, 0, -0.81]
|
||||
},
|
||||
"4.8": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "easeInOutSine"
|
||||
}
|
||||
|
@ -256,10 +270,17 @@
|
|||
"3.8": {
|
||||
"vector": [-3.07, -10.12, 0]
|
||||
},
|
||||
"4.0": {
|
||||
"vector": [-1.7, -5.79, 0]
|
||||
"4.1": {
|
||||
"vector": [-0.1, 0.1, 0],
|
||||
"easing": "easeInOutSine"
|
||||
},
|
||||
"4.3": {
|
||||
"vector": [-0.09, -0.61, 0]
|
||||
},
|
||||
"4.4": {
|
||||
"vector": [-0.08, -0.19, 0]
|
||||
},
|
||||
"4.8": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "easeInOutSine"
|
||||
}
|
||||
|
@ -562,6 +583,30 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"Righthand": {
|
||||
"rotation": {
|
||||
"4.2": {
|
||||
"vector": [0, 0, 0]
|
||||
},
|
||||
"4.3": {
|
||||
"vector": [-4, 3, 8]
|
||||
},
|
||||
"4.5": {
|
||||
"vector": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"position": {
|
||||
"4.2": {
|
||||
"vector": [0, 0, 0]
|
||||
},
|
||||
"4.3": {
|
||||
"vector": [0, 0, 0]
|
||||
},
|
||||
"4.5": {
|
||||
"vector": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"camera": {
|
||||
"rotation": {
|
||||
"0.1": {
|
||||
|
@ -609,15 +654,29 @@
|
|||
"3.6": {
|
||||
"vector": [0.5, -2, -2]
|
||||
},
|
||||
"4.0": {
|
||||
"4.2": {
|
||||
"vector": [1, -0.59, -0.59]
|
||||
},
|
||||
"4.5": {
|
||||
"4.3": {
|
||||
"vector": [0.44, -0.26, 1.5]
|
||||
},
|
||||
"4.4": {
|
||||
"vector": [0.18, -0.11, -0.5]
|
||||
},
|
||||
"4.6": {
|
||||
"vector": [0.05, -0.03, 0.2]
|
||||
},
|
||||
"4.8": {
|
||||
"vector": [0, 0, 0],
|
||||
"easing": "easeOutSine"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sound_effects": {
|
||||
"0.0": {
|
||||
"effect": "rpg_reload"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -58,6 +58,41 @@
|
|||
"parent": "0",
|
||||
"pivot": [0, 0, 0]
|
||||
},
|
||||
{
|
||||
"name": "hammer",
|
||||
"parent": "rpg",
|
||||
"pivot": [0, -0.60982, -1.98992],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.2625, -1.18829, -1.90006],
|
||||
"size": [0.525, 0.62499, 0.30845],
|
||||
"pivot": [0, -0.6606, -1.71883],
|
||||
"rotation": [-90, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [74, 7], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 61], "uv_size": [0.25, 0.5]},
|
||||
"south": {"uv": [8, 74], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62, 77], "uv_size": [0.25, 0.5]},
|
||||
"up": {"uv": [77, 62], "uv_size": [0.5, 0.25]},
|
||||
"down": {"uv": [63, 77.25], "uv_size": [0.5, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.2625, -0.80184, -2.10613],
|
||||
"size": [0.525, 0.62499, 0.30845],
|
||||
"pivot": [0, -0.6606, -1.81883],
|
||||
"rotation": [-135, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [23, 75], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [30, 78], "uv_size": [0.25, 0.5]},
|
||||
"south": {"uv": [75, 23], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [78, 30], "uv_size": [0.25, 0.5]},
|
||||
"up": {"uv": [31, 78], "uv_size": [0.5, 0.25]},
|
||||
"down": {"uv": [78, 31.25], "uv_size": [0.5, -0.25]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "gun",
|
||||
"parent": "rpg",
|
||||
|
@ -3773,34 +3808,6 @@
|
|||
"west": {"uv": [64, 75], "uv_size": [0.25, 0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.2625, -0.99385, -1.93825],
|
||||
"size": [0.525, 0.62499, 0.30845],
|
||||
"pivot": [0, -0.53136, -1.78402],
|
||||
"rotation": [-45, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [74, 7], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 61], "uv_size": [0.25, 0.5]},
|
||||
"south": {"uv": [8, 74], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62, 77], "uv_size": [0.25, 0.5]},
|
||||
"up": {"uv": [77, 62], "uv_size": [0.5, 0.25]},
|
||||
"down": {"uv": [63, 77.25], "uv_size": [0.5, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.2625, 0.06622, -2.4518],
|
||||
"size": [0.525, 0.62499, 0.30845],
|
||||
"pivot": [0, -0.37128, -2.29757],
|
||||
"rotation": [-90, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [23, 75], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [30, 78], "uv_size": [0.25, 0.5]},
|
||||
"south": {"uv": [75, 23], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [78, 30], "uv_size": [0.25, 0.5]},
|
||||
"up": {"uv": [31, 78], "uv_size": [0.5, 0.25]},
|
||||
"down": {"uv": [78, 31.25], "uv_size": [0.5, -0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.4, -1.50777, -3.66146],
|
||||
"size": [0.8, 0.22426, 1.47574],
|
||||
|
|
Binary file not shown.
Binary file not shown.
Loading…
Add table
Reference in a new issue