继续清理tag

This commit is contained in:
Atsuihsio 2024-12-30 15:08:28 +08:00
parent a832317c25
commit 56750c0e25
34 changed files with 360 additions and 165 deletions

View file

@ -1,4 +1,4 @@
// 1.20.1 2024-12-30T14:34:41.442112 Tags for minecraft:item mod id superbwarfare
// 1.20.1 2024-12-30T15:07:23.9778545 Tags for minecraft:item mod id superbwarfare
cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json
295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json
@ -26,15 +26,8 @@ af6fd64b4a685c353f243763db268f7b2304c009 data/forge/tags/items/storage_blocks/le
30d1daa7590f7364b5bc2dc777a00caf2f5eecb0 data/forge/tags/items/storage_blocks/silver.json
3743c2790deca7e779d3e4b82f092de39b446988 data/forge/tags/items/storage_blocks/steel.json
144e54d908121dee498b2ebba3b24b09fd6f18d9 data/forge/tags/items/storage_blocks/tungsten.json
cedce5ff7bbc95b40cbfced0f03a3da712118049 data/superbwarfare/tags/items/can_apply_barrel.json
4b0864ba4b2bb2ca3b30bdc2fefe3077f5020466 data/superbwarfare/tags/items/can_apply_grip.json
41a5f975239ec6e000229dfc212b9d886496cccc data/superbwarfare/tags/items/can_apply_magazine.json
cedce5ff7bbc95b40cbfced0f03a3da712118049 data/superbwarfare/tags/items/can_apply_scope.json
29af1d9a8f837510bc039feb578330f1a053543f data/superbwarfare/tags/items/can_apply_stock.json
cedce5ff7bbc95b40cbfced0f03a3da712118049 data/superbwarfare/tags/items/can_custom_gun.json
52598e22974c8da0d2852defe4c9005e1d67744b data/superbwarfare/tags/items/gun.json
62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json
49fbb8c030fdfafec1f291acc1cdff406c777c7e data/superbwarfare/tags/items/has_shell_effect.json
68ec25b0ccd68abbbe2f33ab7097572c2140c9da data/superbwarfare/tags/items/launcher.json
b404c6fd99d2ca68c6738f225cb7d68ee443c10a data/superbwarfare/tags/items/machine_gun.json
a53020091752016da6602ee1b8b7e08823614344 data/superbwarfare/tags/items/military_armor.json

View file

@ -1,12 +0,0 @@
{
"values": [
"superbwarfare:ak_12",
"superbwarfare:ak_47",
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:qbz_95",
"superbwarfare:vector",
"superbwarfare:trachelium",
"superbwarfare:mk_14"
]
}

View file

@ -1,12 +0,0 @@
{
"values": [
"superbwarfare:ak_12",
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:qbz_95",
"superbwarfare:ak_47",
"superbwarfare:vector",
"superbwarfare:trachelium",
"superbwarfare:mk_14"
]
}

View file

@ -1,11 +0,0 @@
{
"values": [
"superbwarfare:ak_12",
"superbwarfare:ak_47",
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:qbz_95",
"superbwarfare:vector",
"superbwarfare:mk_14"
]
}

View file

@ -1,12 +0,0 @@
{
"values": [
"superbwarfare:ak_12",
"superbwarfare:ak_47",
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:qbz_95",
"superbwarfare:vector",
"superbwarfare:trachelium",
"superbwarfare:mk_14"
]
}

View file

@ -1,11 +0,0 @@
{
"values": [
"superbwarfare:ak_12",
"superbwarfare:ak_47",
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:vector",
"superbwarfare:trachelium",
"superbwarfare:mk_14"
]
}

View file

@ -1,12 +0,0 @@
{
"values": [
"superbwarfare:ak_12",
"superbwarfare:ak_47",
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:qbz_95",
"superbwarfare:vector",
"superbwarfare:trachelium",
"superbwarfare:mk_14"
]
}

View file

@ -1,20 +0,0 @@
{
"values": [
"superbwarfare:ak_47",
"superbwarfare:ak_12",
"superbwarfare:svd",
"superbwarfare:m_60",
"superbwarfare:mk_14",
"superbwarfare:vector",
"superbwarfare:sks",
"superbwarfare:rpk",
"superbwarfare:hk_416",
"superbwarfare:aa_12",
"superbwarfare:m_4",
"superbwarfare:devotion",
"superbwarfare:glock_17",
"superbwarfare:glock_18",
"superbwarfare:m_1911",
"superbwarfare:qbz_95"
]
}

View file

@ -214,22 +214,23 @@ public class ClickHandler {
}
if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
if (!(stack.getItem() instanceof GunItem gunItem)) return;
if (ModKeyMappings.EDIT_GRIP.getKeyModifier().isActive(KeyConflictContext.IN_GAME)) {
if (key == ModKeyMappings.EDIT_GRIP.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_GRIP)) {
if (key == ModKeyMappings.EDIT_GRIP.getKey().getValue() && gunItem.canCustomGrip(stack)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(4));
editModelShake();
}
} else {
if (key == ModKeyMappings.EDIT_SCOPE.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_SCOPE)) {
if (key == ModKeyMappings.EDIT_SCOPE.getKey().getValue() && gunItem.canCustomScope(stack)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(0));
editModelShake();
} else if (key == ModKeyMappings.EDIT_BARREL.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_BARREL)) {
} else if (key == ModKeyMappings.EDIT_BARREL.getKey().getValue() && gunItem.canCustomBarrel(stack)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(1));
editModelShake();
} else if (key == ModKeyMappings.EDIT_MAGAZINE.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_MAGAZINE)) {
} else if (key == ModKeyMappings.EDIT_MAGAZINE.getKey().getValue() && gunItem.canCustomMagazine(stack)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(2));
editModelShake();
} else if (key == ModKeyMappings.EDIT_STOCK.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_STOCK)) {
} else if (key == ModKeyMappings.EDIT_STOCK.getKey().getValue() && gunItem.canCustomStock(stack)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(3));
editModelShake();
}

View file

@ -3,7 +3,6 @@ package com.atsuishio.superbwarfare.client.tooltip;
import com.atsuishio.superbwarfare.client.tooltip.component.GunImageComponent;
import com.atsuishio.superbwarfare.init.ModKeyMappings;
import com.atsuishio.superbwarfare.init.ModPerks;
import com.atsuishio.superbwarfare.init.ModTags;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.perk.AmmoPerk;
import com.atsuishio.superbwarfare.perk.Perk;
@ -75,7 +74,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent {
}
protected boolean shouldRenderEditTooltip() {
return stack.is(ModTags.Items.CAN_CUSTOM_GUN);
return gunItem.canCustom(stack);
}
protected boolean shouldRenderPerks() {

View file

@ -98,30 +98,7 @@ public class ModItemTagProvider extends ItemTagsProvider {
this.tag(ModTags.Items.REVOLVER).add(ModItems.TRACHELIUM.get());
this.tag(ModTags.Items.HAS_SHELL_EFFECT).add(ModItems.AK_47.get(), ModItems.AK_12.get(), ModItems.SVD.get(), ModItems.M_60.get(), ModItems.MK_14.get(), ModItems.VECTOR.get(),
ModItems.SKS.get(), ModItems.RPK.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(), ModItems.DEVOTION.get(), ModItems.GLOCK_17.get(),
ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.QBZ_95.get());
this.tag(ModTags.Items.MILITARY_ARMOR).add(ModItems.RU_CHEST_6B43.get(), ModItems.US_CHEST_IOTV.get());
this.tag(ModTags.Items.CAN_CUSTOM_GUN).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
ModItems.MK_14.get());
this.tag(ModTags.Items.CAN_APPLY_BARREL).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
ModItems.MK_14.get());
this.tag(ModTags.Items.CAN_APPLY_GRIP).add(ModItems.AK_12.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.AK_47.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
ModItems.MK_14.get());
this.tag(ModTags.Items.CAN_APPLY_SCOPE).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
ModItems.MK_14.get());
this.tag(ModTags.Items.CAN_APPLY_MAGAZINE).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(),
ModItems.MK_14.get());
this.tag(ModTags.Items.CAN_APPLY_STOCK).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
ModItems.MK_14.get());
}
private static TagKey<Item> forgeTag(String name) {

View file

@ -8,6 +8,7 @@ import com.atsuishio.superbwarfare.entity.IArmedVehicleEntity;
import com.atsuishio.superbwarfare.entity.ICannonEntity;
import com.atsuishio.superbwarfare.entity.SpeedboatEntity;
import com.atsuishio.superbwarfare.init.*;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.network.ModVariables;
import com.atsuishio.superbwarfare.network.message.LaserShootMessage;
import com.atsuishio.superbwarfare.network.message.ShootMessage;
@ -489,7 +490,7 @@ public class ClientEventHandler {
public static void playGunClientSounds(Player player) {
ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) {
if (!(stack.getItem() instanceof GunItem gunItem)) {
return;
}
@ -530,7 +531,7 @@ public class ClientEventHandler {
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos())));
ModUtils.queueClientWork((int) (1 + 1.5 * shooterHeight), () -> {
if (stack.is(ModTags.Items.HAS_SHELL_EFFECT)) {
if (gunItem.ejectShell(stack)) {
if (stack.is(ModTags.Items.SHOTGUN)) {
player.playSound(ModSounds.SHELL_CASING_SHOTGUN.get(), (float) Math.max(0.75 - 0.12 * shooterHeight, 0), 1);
} else if (stack.is(ModTags.Items.SNIPER_RIFLE)) {
@ -954,7 +955,7 @@ public class ClientEventHandler {
Player player = Minecraft.getInstance().player;
if (player == null) return;
ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return;
if (!(stack.getItem() instanceof GunItem gunItem)) return;
float times = (float) Math.min(Minecraft.getInstance().getDeltaFrameTime(), 1.6);
int barrelType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.BARREL);
@ -978,7 +979,7 @@ public class ClientEventHandler {
default -> 2.0;
};
if (!stack.is(ModTags.Items.CAN_CUSTOM_GUN)) {
if (!gunItem.canCustom(stack)) {
recoil = 1.6;
gripRecoilX = 0.75;
gripRecoilY = 1.25;

View file

@ -312,11 +312,8 @@ public class GunEventHandler {
*/
private static void handleGunReload(Player player) {
ItemStack stack = player.getMainHandItem();
GunItem gunItem = null;
if (stack.getItem() instanceof GunItem gunItem1) {
gunItem = gunItem1;
}
if (gunItem == null) return;
if (!(stack.getItem() instanceof GunItem gunItem)) return;
CompoundTag tag = stack.getOrCreateTag();
CompoundTag data = stack.getOrCreateTag().getCompound("GunData");
// 启动换弹
@ -401,12 +398,7 @@ public class GunEventHandler {
public static void playGunNormalReload(Player player) {
ItemStack stack = player.getMainHandItem();
GunItem gunItem = null;
if (stack.getItem() instanceof GunItem gunItem1) {
gunItem = gunItem1;
}
if (gunItem == null) return;
if (!(stack.getItem() instanceof GunItem gunItem)) return;
if (player.getInventory().hasAnyMatching(item -> item.is(ModItems.CREATIVE_AMMO_BOX.get()))) {
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Magazine", 0) + stack.getOrCreateTag().getInt("customMag")

View file

@ -28,15 +28,6 @@ public class ModTags {
public static final TagKey<Item> REVOLVER = tag("revolver");
public static final TagKey<Item> NORMAL_GUN = tag("normal_gun");
public static final TagKey<Item> CAN_CUSTOM_GUN = tag("can_custom_gun");
public static final TagKey<Item> CAN_APPLY_BARREL = tag("can_apply_barrel");
public static final TagKey<Item> CAN_APPLY_SCOPE = tag("can_apply_scope");
public static final TagKey<Item> CAN_APPLY_GRIP = tag("can_apply_grip");
public static final TagKey<Item> CAN_APPLY_MAGAZINE = tag("can_apply_magazine");
public static final TagKey<Item> CAN_APPLY_STOCK= tag("can_apply_stock");
public static final TagKey<Item> HAS_SHELL_EFFECT= tag("has_shell_effect");
public static final TagKey<Item> MILITARY_ARMOR = tag("military_armor");
public static final TagKey<Item> MILITARY_ARMOR_HEAVY = tag("military_armor_heavy");

View file

@ -55,11 +55,7 @@ public abstract class GunItem extends Item {
return;
}
GunItem gunItem = null;
if (stack.getItem() instanceof GunItem gunItem1) {
gunItem = gunItem1;
}
if (gunItem == null) return;
if (!(stack.getItem() instanceof GunItem gunItem)) return;
if (!ItemNBTTool.getBoolean(stack, "init", false)) {
GunsTool.initGun(level, stack, this.getDescriptionId().substring(this.getDescriptionId().lastIndexOf('.') + 1));
@ -270,4 +266,32 @@ public abstract class GunItem extends Item {
public boolean useBackpackAmmo(ItemStack stack) {
return false;
}
public boolean canCustom(ItemStack stack) {
return false;
}
public boolean canCustomBarrel(ItemStack stack) {
return false;
}
public boolean canCustomGrip(ItemStack stack) {
return false;
}
public boolean canCustomMagazine(ItemStack stack) {
return false;
}
public boolean canCustomScope(ItemStack stack) {
return false;
}
public boolean canCustomStock(ItemStack stack) {
return false;
}
public boolean ejectShell(ItemStack stack) {
return false;
}
}

View file

@ -162,4 +162,9 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
public boolean bulletInBarrel(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -170,4 +170,9 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -153,4 +153,9 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
public boolean bulletInBarrel(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -318,4 +318,29 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem {
public boolean isMagazineReload(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
}

View file

@ -154,4 +154,9 @@ public class DevotionItem extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -178,4 +178,9 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -155,4 +155,9 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -219,4 +219,39 @@ public class AK12Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -233,4 +233,39 @@ public class AK47Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -235,4 +235,39 @@ public class Hk416Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -234,4 +234,39 @@ public class M4Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -233,4 +233,39 @@ public class Mk14Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -236,4 +236,34 @@ public class Qbz95Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -163,4 +163,9 @@ public class SksItem extends GunItem implements GeoItem, AnimatedItem {
public boolean bulletInBarrel(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -187,4 +187,9 @@ public class Aa12Item extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -209,4 +209,39 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem {
public boolean autoWeapon(ItemStack stack) {
return true;
}
@Override
public boolean canCustom(ItemStack stack) {
return true;
}
@Override
public boolean canCustomBarrel(ItemStack stack) {
return true;
}
@Override
public boolean canCustomGrip(ItemStack stack) {
return true;
}
@Override
public boolean canCustomMagazine(ItemStack stack) {
return true;
}
@Override
public boolean canCustomScope(ItemStack stack) {
return true;
}
@Override
public boolean canCustomStock(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -148,4 +148,9 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
public boolean bulletInBarrel(ItemStack stack) {
return true;
}
@Override
public boolean ejectShell(ItemStack stack) {
return true;
}
}

View file

@ -1,9 +1,9 @@
package com.atsuishio.superbwarfare.network.message;
import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.network.ModVariables;
import com.atsuishio.superbwarfare.tools.SoundTool;
import com.atsuishio.superbwarfare.init.ModSounds;
import com.atsuishio.superbwarfare.init.ModTags;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
@ -39,9 +39,10 @@ public class EditModeMessage {
if (type == 0) {
ItemStack mainHandItem = player.getMainHandItem();
if (!(mainHandItem.getItem() instanceof GunItem gunItem)) return;
var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null);
if (mainHandItem.is(ModTags.Items.CAN_CUSTOM_GUN)) {
if (gunItem.canCustom(mainHandItem)) {
if (!player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
SoundTool.playLocalSound(player, ModSounds.EDIT_MODE.get(), 1f, 1f);
}

View file

@ -103,11 +103,7 @@ public class GunsTool {
public static void reload(Player player, ItemStack stack, GunInfo.Type type, boolean extraOne) {
CompoundTag tag = stack.getOrCreateTag();
GunItem gunItem = null;
if (stack.getItem() instanceof GunItem gunItem1) {
gunItem = gunItem1;
}
if (gunItem == null) return;
if (!(stack.getItem() instanceof GunItem gunItem)) return;
int mag = GunsTool.getGunIntTag(stack, "Magazine", 0) + tag.getInt("customMag");
int ammo = gunItem.getAmmoCount(stack);