优化GunItem方法命名,添加注释
This commit is contained in:
parent
1549652aa2
commit
d8484ba7b1
37 changed files with 288 additions and 211 deletions
|
@ -231,21 +231,21 @@ public class ClickHandler {
|
||||||
if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
|
if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
|
||||||
if (!(stack.getItem() instanceof GunItem gunItem)) return;
|
if (!(stack.getItem() instanceof GunItem gunItem)) return;
|
||||||
if (ModKeyMappings.EDIT_GRIP.getKeyModifier().isActive(KeyConflictContext.IN_GAME)) {
|
if (ModKeyMappings.EDIT_GRIP.getKeyModifier().isActive(KeyConflictContext.IN_GAME)) {
|
||||||
if (key == ModKeyMappings.EDIT_GRIP.getKey().getValue() && gunItem.canCustomGrip(stack)) {
|
if (key == ModKeyMappings.EDIT_GRIP.getKey().getValue() && gunItem.hasCustomGrip(stack)) {
|
||||||
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(4));
|
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(4));
|
||||||
editModelShake();
|
editModelShake();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (key == ModKeyMappings.EDIT_SCOPE.getKey().getValue() && gunItem.canCustomScope(stack)) {
|
if (key == ModKeyMappings.EDIT_SCOPE.getKey().getValue() && gunItem.hasCustomScope(stack)) {
|
||||||
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(0));
|
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(0));
|
||||||
editModelShake();
|
editModelShake();
|
||||||
} else if (key == ModKeyMappings.EDIT_BARREL.getKey().getValue() && gunItem.canCustomBarrel(stack)) {
|
} else if (key == ModKeyMappings.EDIT_BARREL.getKey().getValue() && gunItem.hasCustomBarrel(stack)) {
|
||||||
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(1));
|
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(1));
|
||||||
editModelShake();
|
editModelShake();
|
||||||
} else if (key == ModKeyMappings.EDIT_MAGAZINE.getKey().getValue() && gunItem.canCustomMagazine(stack)) {
|
} else if (key == ModKeyMappings.EDIT_MAGAZINE.getKey().getValue() && gunItem.hasCustomMagazine(stack)) {
|
||||||
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(2));
|
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(2));
|
||||||
editModelShake();
|
editModelShake();
|
||||||
} else if (key == ModKeyMappings.EDIT_STOCK.getKey().getValue() && gunItem.canCustomStock(stack)) {
|
} else if (key == ModKeyMappings.EDIT_STOCK.getKey().getValue() && gunItem.hasCustomStock(stack)) {
|
||||||
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(3));
|
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(3));
|
||||||
editModelShake();
|
editModelShake();
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,7 +67,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent {
|
||||||
|
|
||||||
protected boolean shouldRenderEditTooltip() {
|
protected boolean shouldRenderEditTooltip() {
|
||||||
if (this.stack.getItem() instanceof GunItem gunItem) {
|
if (this.stack.getItem() instanceof GunItem gunItem) {
|
||||||
return gunItem.canCustom(stack);
|
return gunItem.isCustomizable(stack);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -100,7 +100,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent {
|
||||||
* 获取武器射速的文本组件
|
* 获取武器射速的文本组件
|
||||||
*/
|
*/
|
||||||
protected Component getRpmComponent() {
|
protected Component getRpmComponent() {
|
||||||
if (this.stack.getItem() instanceof GunItem gunItem && gunItem.autoWeapon(this.stack)) {
|
if (this.stack.getItem() instanceof GunItem gunItem && gunItem.isAutoWeapon(this.stack)) {
|
||||||
return Component.translatable("des.superbwarfare.guns.rpm").withStyle(ChatFormatting.GRAY)
|
return Component.translatable("des.superbwarfare.guns.rpm").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(FormatTool.format0D(GunsTool.getGunIntTag(stack, "RPM", 0)))
|
.append(Component.literal(FormatTool.format0D(GunsTool.getGunIntTag(stack, "RPM", 0)))
|
||||||
|
|
|
@ -278,7 +278,7 @@ public class ClientEventHandler {
|
||||||
|
|
||||||
public static void handleGunMelee(Player player, ItemStack stack) {
|
public static void handleGunMelee(Player player, ItemStack stack) {
|
||||||
if (stack.getItem() instanceof GunItem gunItem) {
|
if (stack.getItem() instanceof GunItem gunItem) {
|
||||||
if (gunItem.canUseMelee(stack) && gunMelee == 0 && drawTime < 0.01
|
if (gunItem.hasMeleeAttack(stack) && gunMelee == 0 && drawTime < 0.01
|
||||||
&& ModKeyMappings.MELEE.isDown()
|
&& ModKeyMappings.MELEE.isDown()
|
||||||
&& !(player.getVehicle() instanceof ArmedVehicleEntity iArmedVehicle && iArmedVehicle.banHand(player))
|
&& !(player.getVehicle() instanceof ArmedVehicleEntity iArmedVehicle && iArmedVehicle.banHand(player))
|
||||||
&& !holdFireVehicle
|
&& !holdFireVehicle
|
||||||
|
@ -677,7 +677,7 @@ public class ClientEventHandler {
|
||||||
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos())));
|
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos())));
|
||||||
|
|
||||||
ModUtils.queueClientWork((int) (1 + 1.5 * shooterHeight), () -> {
|
ModUtils.queueClientWork((int) (1 + 1.5 * shooterHeight), () -> {
|
||||||
if (gunItem.ejectShell(stack)) {
|
if (gunItem.canEjectShell(stack)) {
|
||||||
if (stack.is(ModTags.Items.SHOTGUN)) {
|
if (stack.is(ModTags.Items.SHOTGUN)) {
|
||||||
player.playSound(ModSounds.SHELL_CASING_SHOTGUN.get(), (float) Math.max(0.75 - 0.12 * shooterHeight, 0), 1);
|
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) || stack.is(ModTags.Items.HEAVY_WEAPON)) {
|
} else if (stack.is(ModTags.Items.SNIPER_RIFLE) || stack.is(ModTags.Items.HEAVY_WEAPON)) {
|
||||||
|
@ -1170,7 +1170,7 @@ public class ClientEventHandler {
|
||||||
default -> 2.0;
|
default -> 2.0;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (!gunItem.canCustom(stack)) {
|
if (!gunItem.isCustomizable(stack)) {
|
||||||
recoil = 1.6;
|
recoil = 1.6;
|
||||||
gripRecoilX = 0.75;
|
gripRecoilX = 0.75;
|
||||||
gripRecoilY = 1.25;
|
gripRecoilY = 1.25;
|
||||||
|
|
|
@ -417,18 +417,18 @@ public class GunEventHandler {
|
||||||
if (player.getInventory().hasAnyMatching(item -> item.is(ModItems.CREATIVE_AMMO_BOX.get()))) {
|
if (player.getInventory().hasAnyMatching(item -> item.is(ModItems.CREATIVE_AMMO_BOX.get()))) {
|
||||||
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Magazine", 0)
|
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Magazine", 0)
|
||||||
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0)
|
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0)
|
||||||
+ (gunItem.bulletInBarrel(stack) ? 1 : 0));
|
+ (gunItem.hasBulletInBarrel(stack) ? 1 : 0));
|
||||||
} else {
|
} else {
|
||||||
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
||||||
GunsTool.reload(player, stack, AmmoType.SHOTGUN, gunItem.bulletInBarrel(stack));
|
GunsTool.reload(player, stack, AmmoType.SHOTGUN, gunItem.hasBulletInBarrel(stack));
|
||||||
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
||||||
GunsTool.reload(player, stack, AmmoType.SNIPER, true);
|
GunsTool.reload(player, stack, AmmoType.SNIPER, true);
|
||||||
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
||||||
GunsTool.reload(player, stack, AmmoType.HANDGUN, true);
|
GunsTool.reload(player, stack, AmmoType.HANDGUN, true);
|
||||||
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
||||||
GunsTool.reload(player, stack, AmmoType.RIFLE, gunItem.bulletInBarrel(stack));
|
GunsTool.reload(player, stack, AmmoType.RIFLE, gunItem.hasBulletInBarrel(stack));
|
||||||
} else if (stack.is(ModTags.Items.USE_HEAVY_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_HEAVY_AMMO)) {
|
||||||
GunsTool.reload(player, stack, AmmoType.HEAVY, gunItem.bulletInBarrel(stack));
|
GunsTool.reload(player, stack, AmmoType.HEAVY, gunItem.hasBulletInBarrel(stack));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
stack.getOrCreateTag().putBoolean("is_normal_reloading", false);
|
stack.getOrCreateTag().putBoolean("is_normal_reloading", false);
|
||||||
|
|
|
@ -33,6 +33,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
import net.minecraftforge.fml.common.Mod;
|
import net.minecraftforge.fml.common.Mod;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import javax.annotation.ParametersAreNonnullByDefault;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -45,17 +46,15 @@ public abstract class GunItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canAttackBlock(BlockState p_41441_, Level p_41442_, BlockPos p_41443_, Player p_41444_) {
|
@ParametersAreNonnullByDefault
|
||||||
|
public boolean canAttackBlock(BlockState pState, Level pLevel, BlockPos pPos, Player pPlayer) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
||||||
if (entity instanceof LivingEntity) {
|
if (!(entity instanceof LivingEntity)) return;
|
||||||
if (!stack.is(ModTags.Items.GUN)) {
|
if (!stack.is(ModTags.Items.GUN)) return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!(stack.getItem() instanceof GunItem gunItem)) return;
|
if (!(stack.getItem() instanceof GunItem gunItem)) return;
|
||||||
|
|
||||||
if (!ItemNBTTool.getBoolean(stack, "init", false)) {
|
if (!ItemNBTTool.getBoolean(stack, "init", false)) {
|
||||||
|
@ -71,13 +70,13 @@ public abstract class GunItem extends Item {
|
||||||
handleGunPerks(stack);
|
handleGunPerks(stack);
|
||||||
handleGunAttachment(stack);
|
handleGunAttachment(stack);
|
||||||
|
|
||||||
if ((gunItem.bulletInBarrel(stack) && GunsTool.getGunIntTag(stack, "Ammo", 0) >
|
if ((gunItem.hasBulletInBarrel(stack) && GunsTool.getGunIntTag(stack, "Ammo", 0) >
|
||||||
GunsTool.getGunIntTag(stack, "Magazine", 0) + GunsTool.getGunIntTag(stack, "CustomMagazine", 0) + 1)
|
GunsTool.getGunIntTag(stack, "Magazine", 0) + GunsTool.getGunIntTag(stack, "CustomMagazine", 0) + 1)
|
||||||
|| (!gunItem.bulletInBarrel(stack) && GunsTool.getGunIntTag(stack, "Ammo", 0) >
|
|| (!gunItem.hasBulletInBarrel(stack) && GunsTool.getGunIntTag(stack, "Ammo", 0) >
|
||||||
GunsTool.getGunIntTag(stack, "Magazine", 0) + GunsTool.getGunIntTag(stack, "CustomMagazine", 0))
|
GunsTool.getGunIntTag(stack, "Magazine", 0) + GunsTool.getGunIntTag(stack, "CustomMagazine", 0))
|
||||||
) {
|
) {
|
||||||
int count = GunsTool.getGunIntTag(stack, "Ammo", 0) - GunsTool.getGunIntTag(stack, "Magazine", 0)
|
int count = GunsTool.getGunIntTag(stack, "Ammo", 0) - GunsTool.getGunIntTag(stack, "Magazine", 0)
|
||||||
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0) - (gunItem.bulletInBarrel(stack) ? 1 : 0);
|
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0) - (gunItem.hasBulletInBarrel(stack) ? 1 : 0);
|
||||||
entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
|
entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
|
||||||
|
|
||||||
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
||||||
|
@ -96,15 +95,9 @@ public abstract class GunItem extends Item {
|
||||||
});
|
});
|
||||||
|
|
||||||
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Magazine", 0)
|
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Magazine", 0)
|
||||||
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0) + (gunItem.bulletInBarrel(stack) ? 1 : 0));
|
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0) + (gunItem.hasBulletInBarrel(stack) ? 1 : 0));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onEntitySwing(ItemStack stack, LivingEntity entity) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) {
|
public boolean shouldCauseReequipAnimation(ItemStack oldStack, ItemStack newStack, boolean slotChanged) {
|
||||||
|
@ -143,7 +136,7 @@ public abstract class GunItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isFoil(ItemStack stack) {
|
public boolean isFoil(@NotNull ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -156,7 +149,7 @@ public abstract class GunItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isEnchantable(ItemStack stack) {
|
public boolean isEnchantable(@NotNull ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,7 +159,7 @@ public abstract class GunItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleGunPerks(ItemStack stack) {
|
private void handleGunPerks(ItemStack stack) {
|
||||||
reducePerkTagTime(stack, "HealClipTime", "KillClipReloadTime", "KillClipTime", "FourthTimesCharmTick", "HeadSeeker",
|
reducePerkTagCoolDown(stack, "HealClipTime", "KillClipReloadTime", "KillClipTime", "FourthTimesCharmTick", "HeadSeeker",
|
||||||
"DesperadoTime", "DesperadoTimePost");
|
"DesperadoTime", "DesperadoTimePost");
|
||||||
|
|
||||||
if (PerkHelper.getItemPerkLevel(ModPerks.FOURTH_TIMES_CHARM.get(), stack) > 0) {
|
if (PerkHelper.getItemPerkLevel(ModPerks.FOURTH_TIMES_CHARM.get(), stack) > 0) {
|
||||||
|
@ -225,7 +218,7 @@ public abstract class GunItem extends Item {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void reducePerkTagTime(ItemStack stack, String... tag) {
|
private void reducePerkTagCoolDown(ItemStack stack, String... tag) {
|
||||||
if (!stack.hasTag() || stack.getTag() == null) {
|
if (!stack.hasTag() || stack.getTag() == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -243,70 +236,154 @@ public abstract class GunItem extends Item {
|
||||||
stack.addTagElement("PerkData", compound);
|
stack.addTagElement("PerkData", compound);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否使用弹匣换弹
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
public boolean isMagazineReload(ItemStack stack) {
|
public boolean isMagazineReload(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否使用弹夹换弹
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
public boolean isClipReload(ItemStack stack) {
|
public boolean isClipReload(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 是否是单发装填换弹
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
public boolean isIterativeReload(ItemStack stack) {
|
public boolean isIterativeReload(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 开膛待击
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
public boolean isOpenBolt(ItemStack stack) {
|
public boolean isOpenBolt(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
/**
|
||||||
|
* 是否允许额外往枪管里塞入一发子弹
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否为全自动武器
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 武器是否直接使用背包内的弹药物品进行发射,而不是使用玩家存储的弹药
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
public boolean useBackpackAmmo(ItemStack stack) {
|
public boolean useBackpackAmmo(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCustom(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能进行改装
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能更换枪管配件
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能更换枪托配件
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能更换弹匣配件
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能更换瞄具配件
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能更换枪托配件
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 武器是否有脚架
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
public boolean hasBipod(ItemStack stack) {
|
public boolean hasBipod(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean ejectShell(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否会抛壳
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canUseMelee(ItemStack stack) {
|
/**
|
||||||
|
* 武器是否能进行近战攻击
|
||||||
|
*
|
||||||
|
* @param stack 武器物品
|
||||||
|
*/
|
||||||
|
public boolean hasMeleeAttack(ItemStack stack) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getFireMode() {
|
/**
|
||||||
|
* 获取武器可用的开火模式
|
||||||
|
*/
|
||||||
|
public int getAvailableFireModes() {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -160,17 +160,17 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -163,22 +163,22 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -163,17 +163,17 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -160,17 +160,17 @@ public class Mp443Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -320,32 +320,32 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -164,12 +164,12 @@ public class Ntw20Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -294,12 +294,12 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, AnimatedItem
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canUseMelee(ItemStack stack) {
|
public boolean hasMeleeAttack(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -147,22 +147,22 @@ public class DevotionItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.AUTO.flag;
|
return FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -176,17 +176,17 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.AUTO.flag;
|
return FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -215,7 +215,7 @@ public class MinigunItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -148,22 +148,22 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -216,52 +216,52 @@ public class AK12Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -225,52 +225,52 @@ public class AK47Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -227,52 +227,52 @@ public class Hk416Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -226,52 +226,52 @@ public class M4Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -177,7 +177,7 @@ public class MarlinItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -225,52 +225,52 @@ public class Mk14Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -228,47 +228,47 @@ public class Qbz95Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -160,17 +160,17 @@ public class SksItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -179,22 +179,22 @@ public class Aa12Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -155,7 +155,7 @@ public class AbekiriItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -184,7 +184,7 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -202,52 +202,52 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean autoWeapon(ItemStack stack) {
|
public boolean isAutoWeapon(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomGrip(ItemStack stack) {
|
public boolean hasCustomGrip(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomStock(ItemStack stack) {
|
public boolean hasCustomStock(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag + FireMode.BURST.flag + FireMode.AUTO.flag;
|
return FireMode.SEMI.flag + FireMode.BURST.flag + FireMode.AUTO.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -137,7 +137,7 @@ public class HuntingRifleItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -185,7 +185,7 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -163,12 +163,12 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -180,7 +180,7 @@ public class MosinNagantItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -245,12 +245,12 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -178,22 +178,22 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustom(ItemStack stack) {
|
public boolean isCustomizable(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomBarrel(ItemStack stack) {
|
public boolean hasCustomBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomScope(ItemStack stack) {
|
public boolean hasCustomScope(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canCustomMagazine(ItemStack stack) {
|
public boolean hasCustomMagazine(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -208,12 +208,12 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean bulletInBarrel(ItemStack stack) {
|
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean ejectShell(ItemStack stack) {
|
public boolean canEjectShell(ItemStack stack) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int getFireMode() {
|
public int getAvailableFireModes() {
|
||||||
return FireMode.SEMI.flag;
|
return FireMode.SEMI.flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -41,7 +41,7 @@ public class EditModeMessage {
|
||||||
if (!(mainHandItem.getItem() instanceof GunItem gunItem)) return;
|
if (!(mainHandItem.getItem() instanceof GunItem gunItem)) return;
|
||||||
var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null);
|
var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null);
|
||||||
|
|
||||||
if (gunItem.canCustom(mainHandItem)) {
|
if (gunItem.isCustomizable(mainHandItem)) {
|
||||||
if (!player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
|
if (!player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
|
||||||
SoundTool.playLocalSound(player, ModSounds.EDIT_MODE.get(), 1f, 1f);
|
SoundTool.playLocalSound(player, ModSounds.EDIT_MODE.get(), 1f, 1f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -50,7 +50,7 @@ public class FireModeMessage {
|
||||||
|
|
||||||
CompoundTag tag = stack.getOrCreateTag();
|
CompoundTag tag = stack.getOrCreateTag();
|
||||||
|
|
||||||
int mode = gunItem.getFireMode();
|
int mode = gunItem.getAvailableFireModes();
|
||||||
mode &= 0b111;
|
mode &= 0b111;
|
||||||
|
|
||||||
if (fireMode == 0) {
|
if (fireMode == 0) {
|
||||||
|
|
|
@ -87,7 +87,7 @@ public class ReloadMessage {
|
||||||
int magazine = GunsTool.getGunIntTag(stack, "Magazine", 0);
|
int magazine = GunsTool.getGunIntTag(stack, "Magazine", 0);
|
||||||
|
|
||||||
if (gunItem.isOpenBolt(stack)) {
|
if (gunItem.isOpenBolt(stack)) {
|
||||||
if (gunItem.bulletInBarrel(stack)) {
|
if (gunItem.hasBulletInBarrel(stack)) {
|
||||||
if (GunsTool.getGunIntTag(stack, "Ammo", 0) < magazine + GunsTool.getGunIntTag(stack, "CustomMagazine", 0) + 1) {
|
if (GunsTool.getGunIntTag(stack, "Ammo", 0) < magazine + GunsTool.getGunIntTag(stack, "CustomMagazine", 0) + 1) {
|
||||||
GunsTool.setGunBooleanTag(stack, "StartReload", true);
|
GunsTool.setGunBooleanTag(stack, "StartReload", true);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue