去营业妨碍化哨兵

This commit is contained in:
Atsuihsio 2024-07-14 16:26:13 +08:00
parent d208f9e8ab
commit a5833194ee
31 changed files with 8293 additions and 7565 deletions

View file

@ -35,28 +35,21 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
CoreGeoBone scope = getAnimationProcessor().getBone("scope2"); CoreGeoBone scope = getAnimationProcessor().getBone("scope2");
CoreGeoBone ammo = getAnimationProcessor().getBone("ammobar"); CoreGeoBone ammo = getAnimationProcessor().getBone("ammobar");
CoreGeoBone cb = getAnimationProcessor().getBone("chamber2"); CoreGeoBone cb = getAnimationProcessor().getBone("chamber2");
CoreGeoBone b1 = getAnimationProcessor().getBone("b1");
CoreGeoBone b2 = getAnimationProcessor().getBone("b2");
CoreGeoBone b3 = getAnimationProcessor().getBone("b3");
CoreGeoBone b4 = getAnimationProcessor().getBone("b4");
CoreGeoBone b5 = getAnimationProcessor().getBone("b5");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
if (player == null) return; if (player == null) return;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(TargetModTags.Items.GUN)) return; if (!stack.is(TargetModTags.Items.GUN)) return;
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos");
double zp = 0; double zp = player.getPersistentData().getDouble("zoom_pos_z");
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(3.08f * (float) p); gun.setPosX(2.928f * (float) p);
gun.setPosY(-1.03f * (float) p - (float) (0.2f * zp)); gun.setPosY(-0.062f * (float) p - (float) (0.1f * zp));
gun.setPosZ(10f * (float) p + (float) (0.5f * zp)); gun.setPosZ(10f * (float) p + (float) (0.3f * zp));
gun.setRotZ((float) (0.05f * zp)); gun.setRotZ((float) (0.05f * zp));
@ -100,7 +93,7 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
CoreGeoBone charge = getAnimationProcessor().getBone("charge"); CoreGeoBone charge = getAnimationProcessor().getBone("charge");
charge.setRotZ(charge.getRotZ() + times * 0.03f); charge.setRotZ(charge.getRotZ() + times * 0.05f);
if ((stack.getOrCreateTag().getDouble("power") > 0)) { if ((stack.getOrCreateTag().getDouble("power") > 0)) {
charge.setScaleX(1); charge.setScaleX(1);
@ -115,10 +108,8 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0; double y = player.getPersistentData().getDouble("y");
double x = 0; double x = player.getPersistentData().getDouble("x");
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);
@ -169,5 +160,13 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
if ((stack.getOrCreateTag().getDouble("ammo") <= 5)) { if ((stack.getOrCreateTag().getDouble("ammo") <= 5)) {
ammo.setScaleX((float) (stack.getOrCreateTag().getDouble("ammo") / 5)); ammo.setScaleX((float) (stack.getOrCreateTag().getDouble("ammo") / 5));
} }
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
player.getPersistentData().putDouble("camera_rot_x", Mth.RAD_TO_DEG * camera.getRotX());
player.getPersistentData().putDouble("camera_rot_y", Mth.RAD_TO_DEG * camera.getRotY());
player.getPersistentData().putDouble("camera_rot_z", Mth.RAD_TO_DEG * camera.getRotZ());
} }
} }

View file

@ -15,6 +15,7 @@ import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundSource; import net.minecraft.sounds.SoundSource;
import net.minecraft.util.Mth;
import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
@ -135,8 +136,8 @@ public class GunEventHandler {
if (player.getMainHandItem().getItem() == TargetModItems.SENTINEL.get()) { if (player.getMainHandItem().getItem() == TargetModItems.SENTINEL.get()) {
stack.getOrCreateTag().putBoolean("zoom_fire", (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming); stack.getOrCreateTag().putBoolean("zoom_fire", (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming);
if (stack.getOrCreateTag().getDouble("power") > 20) { if (stack.getOrCreateTag().getDouble("power") > 3000) {
stack.getOrCreateTag().putDouble("power", (stack.getOrCreateTag().getDouble("power") - 20)); stack.getOrCreateTag().putDouble("power", stack.getOrCreateTag().getDouble("power") - 3000);
} else { } else {
stack.getOrCreateTag().putDouble("power", 0); stack.getOrCreateTag().putDouble("power", 0);
} }
@ -779,9 +780,11 @@ public class GunEventHandler {
tag.putInt("sentinel_charge_time", tag.getInt("sentinel_charge_time") - 1); tag.putInt("sentinel_charge_time", tag.getInt("sentinel_charge_time") - 1);
} }
if (tag.getInt("sentinel_charge_time") == 17) {
tag.putDouble("power", Mth.clamp(tag.getDouble("power") + 24000,0,240000));
}
if (tag.getInt("sentinel_charge_time") == 1) { if (tag.getInt("sentinel_charge_time") == 1) {
tag.putDouble("power",100);
tag.putBoolean("sentinel_is_charging", false); tag.putBoolean("sentinel_is_charging", false);
} }
} }

View file

@ -62,7 +62,7 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
@Override @Override
public int getBarWidth(ItemStack pStack) { public int getBarWidth(ItemStack pStack) {
return Math.round((float) ItemNBTTool.getInt(pStack, TAG_POWER, 0) * 13.0F / 100F); return Math.round((float) ItemNBTTool.getInt(pStack, TAG_POWER, 0) * 13.0F / 240000F);
} }
@Override @Override
@ -117,11 +117,11 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
} }
if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) { if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.reload")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.reload_empty"));
} }
if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) { if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.reload2")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.reload_normal"));
} }
@ -178,7 +178,7 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
if (tag.getDouble("power") > 0) { if (tag.getDouble("power") > 0) {
tag.putDouble("add_damage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("damageadd")); tag.putDouble("add_damage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("damageadd"));
tag.putDouble("power", tag.getDouble("power") - 0.025); tag.putDouble("power", tag.getDouble("power") - 5);
} else { } else {
tag.putDouble("add_damage", 0); tag.putDouble("add_damage", 0);
} }

File diff suppressed because it is too large Load diff

View file

@ -26,9 +26,9 @@
}, },
"firstperson_righthand": { "firstperson_righthand": {
"translation": [ "translation": [
4.75, 2.75,
-5.75, -9,
-42.5 -40.25
], ],
"scale": [ "scale": [
4, 4,
@ -44,7 +44,7 @@
], ],
"translation": [ "translation": [
0.25, 0.25,
6.75, -80,
-0.25 -0.25
], ],
"scale": [ "scale": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 142 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 KiB

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 61, "normal_reload_time": 64,
"empty_reload_time": 82 "empty_reload_time": 85
} }

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 83, "normal_reload_time": 86,
"empty_reload_time": 99 "empty_reload_time": 102
} }

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 51, "normal_reload_time": 54,
"empty_reload_time": 66 "empty_reload_time": 69
} }

View file

@ -17,6 +17,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 70, "normal_reload_time": 73,
"empty_reload_time": 92 "empty_reload_time": 95
} }

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 53, "normal_reload_time": 56,
"empty_reload_time": 61 "empty_reload_time": 64
} }

View file

@ -15,5 +15,5 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 61 "empty_reload_time": 64
} }

View file

@ -20,6 +20,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 65, "normal_reload_time": 68,
"empty_reload_time": 83 "empty_reload_time": 86
} }

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 53, "normal_reload_time": 56,
"empty_reload_time": 61 "empty_reload_time": 64
} }

View file

@ -17,6 +17,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 111, "normal_reload_time": 114,
"empty_reload_time": 129 "empty_reload_time": 133
} }

View file

@ -13,5 +13,5 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 61 "empty_reload_time": 64
} }

View file

@ -19,6 +19,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 61, "normal_reload_time": 64,
"empty_reload_time": 83 "empty_reload_time": 86
} }

View file

@ -19,6 +19,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 55, "normal_reload_time": 58,
"empty_reload_time": 78 "empty_reload_time": 81
} }

View file

@ -13,5 +13,5 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 97 "empty_reload_time": 100
} }

View file

@ -17,6 +17,6 @@
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 70, "normal_reload_time": 73,
"empty_reload_time": 92 "empty_reload_time": 95
} }

View file

@ -17,6 +17,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 53, "normal_reload_time": 59,
"empty_reload_time": 73 "empty_reload_time": 85
} }

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 51, "normal_reload_time": 54,
"empty_reload_time": 72 "empty_reload_time": 75
} }

View file

@ -16,6 +16,6 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"normal_reload_time": 53, "normal_reload_time": 56,
"empty_reload_time": 67 "empty_reload_time": 70
} }

View file

@ -13,5 +13,5 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 55 "empty_reload_time": 58
} }

View file

@ -16,5 +16,5 @@
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"burst_size": 1, "burst_size": 1,
"empty_reload_time": 62 "empty_reload_time": 65
} }

View file

@ -16,6 +16,6 @@
"burst": 1, "burst": 1,
"auto": 1, "auto": 1,
"burst_size": 3, "burst_size": 3,
"normal_reload_time": 43, "normal_reload_time": 46,
"empty_reload_time": 61 "empty_reload_time": 64
} }