修改效果弹的持续时间

This commit is contained in:
17146 2024-08-09 21:43:16 +08:00
parent bed10267ba
commit 8d7b0a11b6
3 changed files with 12 additions and 12 deletions

View file

@ -371,11 +371,11 @@ public class GunEventHandler {
if (perk instanceof AmmoPerk ammoPerk) {
int level = PerkHelper.getItemPerkLevel(perk, heldItem);
bypassArmorRate = bypassArmorRate + ammoPerk.bypassArmorRate + (perk == ModPerks.AP_BULLET.get()? 0.05f * (level - 1) : 0);
bypassArmorRate += ammoPerk.bypassArmorRate + (perk == ModPerks.AP_BULLET.get() ? 0.05f * (level - 1) : 0);
projectile.setRGB(ammoPerk.rgb);
if (ammoPerk.mobEffect.get() != null) {
projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 100, level - 1));
projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 70 + 30 * level, level - 1));
}
}
bypassArmorRate = Mth.clamp(bypassArmorRate, 0, 1);

View file

@ -1,5 +1,6 @@
package net.mcreator.superbwarfare.event;
import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.PerkItem;
import net.mcreator.superbwarfare.perk.PerkHelper;
import net.minecraft.world.item.ItemStack;
@ -16,7 +17,7 @@ public class TempEventHandler {
ItemStack left = event.getLeft();
ItemStack right = event.getRight();
if (right.getItem() instanceof PerkItem perkItem) {
if (right.getItem() instanceof PerkItem perkItem && left.is(ModTags.Items.GUN)) {
ItemStack output = left.copy();
int level = PerkHelper.getItemPerkLevel(perkItem.getPerk(), output);

View file

@ -168,11 +168,11 @@ public class FireMessage {
if (perk instanceof AmmoPerk ammoPerk) {
int pLevel = PerkHelper.getItemPerkLevel(perk, stack);
bypassArmorRate = bypassArmorRate + ammoPerk.bypassArmorRate + (perk == ModPerks.AP_BULLET.get()? 0.05f * (pLevel - 1) : 0);
bypassArmorRate += ammoPerk.bypassArmorRate + (perk == ModPerks.AP_BULLET.get() ? 0.05f * (pLevel - 1) : 0);
projectile.setRGB(ammoPerk.rgb);
if (ammoPerk.mobEffect.get() != null) {
projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 100, pLevel - 1));
projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 70 + 30 * pLevel, pLevel - 1));
}
}
@ -252,7 +252,6 @@ public class FireMessage {
boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom;
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
ProjectileEntity projectile = new ProjectileEntity(player.level())
.shooter(player)
.headShot(headshot)
@ -263,15 +262,15 @@ public class FireMessage {
if (perk instanceof AmmoPerk ammoPerk) {
int level = PerkHelper.getItemPerkLevel(perk, heldItem);
bypassArmorRate = bypassArmorRate + ammoPerk.bypassArmorRate + (perk == ModPerks.AP_BULLET.get()? 0.05f * (level - 1) : 0);
bypassArmorRate += ammoPerk.bypassArmorRate + (perk == ModPerks.AP_BULLET.get() ? 0.05f * (level - 1) : 0);
projectile.setRGB(ammoPerk.rgb);
if (ammoPerk.mobEffect.get() != null) {
projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 100, level - 1));
projectile.effect(() -> new MobEffectInstance(ammoPerk.mobEffect.get(), 70 + 30 * level, level - 1));
}
}
bypassArmorRate = Mth.clamp(bypassArmorRate, 0, 1);
bypassArmorRate = Mth.clamp(bypassArmorRate, 0, 1);
projectile.bypassArmorRate(bypassArmorRate);
if (perk == ModPerks.SILVER_BULLET.get()) {