修改效果弹的持续时间
This commit is contained in:
parent
bed10267ba
commit
8d7b0a11b6
3 changed files with 12 additions and 12 deletions
|
@ -371,11 +371,11 @@ public class GunEventHandler {
|
||||||
if (perk instanceof AmmoPerk ammoPerk) {
|
if (perk instanceof AmmoPerk ammoPerk) {
|
||||||
int level = PerkHelper.getItemPerkLevel(perk, heldItem);
|
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);
|
projectile.setRGB(ammoPerk.rgb);
|
||||||
|
|
||||||
if (ammoPerk.mobEffect.get() != null) {
|
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);
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package net.mcreator.superbwarfare.event;
|
package net.mcreator.superbwarfare.event;
|
||||||
|
|
||||||
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
import net.mcreator.superbwarfare.item.PerkItem;
|
import net.mcreator.superbwarfare.item.PerkItem;
|
||||||
import net.mcreator.superbwarfare.perk.PerkHelper;
|
import net.mcreator.superbwarfare.perk.PerkHelper;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
@ -16,7 +17,7 @@ public class TempEventHandler {
|
||||||
ItemStack left = event.getLeft();
|
ItemStack left = event.getLeft();
|
||||||
ItemStack right = event.getRight();
|
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();
|
ItemStack output = left.copy();
|
||||||
|
|
||||||
int level = PerkHelper.getItemPerkLevel(perkItem.getPerk(), output);
|
int level = PerkHelper.getItemPerkLevel(perkItem.getPerk(), output);
|
||||||
|
|
|
@ -168,11 +168,11 @@ public class FireMessage {
|
||||||
if (perk instanceof AmmoPerk ammoPerk) {
|
if (perk instanceof AmmoPerk ammoPerk) {
|
||||||
int pLevel = PerkHelper.getItemPerkLevel(perk, stack);
|
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);
|
projectile.setRGB(ammoPerk.rgb);
|
||||||
|
|
||||||
if (ammoPerk.mobEffect.get() != null) {
|
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;
|
boolean zoom = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zoom;
|
||||||
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
||||||
|
|
||||||
|
|
||||||
ProjectileEntity projectile = new ProjectileEntity(player.level())
|
ProjectileEntity projectile = new ProjectileEntity(player.level())
|
||||||
.shooter(player)
|
.shooter(player)
|
||||||
.headShot(headshot)
|
.headShot(headshot)
|
||||||
|
@ -263,15 +262,15 @@ public class FireMessage {
|
||||||
if (perk instanceof AmmoPerk ammoPerk) {
|
if (perk instanceof AmmoPerk ammoPerk) {
|
||||||
int level = PerkHelper.getItemPerkLevel(perk, heldItem);
|
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);
|
projectile.setRGB(ammoPerk.rgb);
|
||||||
|
|
||||||
if (ammoPerk.mobEffect.get() != null) {
|
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);
|
projectile.bypassArmorRate(bypassArmorRate);
|
||||||
|
|
||||||
if (perk == ModPerks.SILVER_BULLET.get()) {
|
if (perk == ModPerks.SILVER_BULLET.get()) {
|
||||||
|
@ -317,7 +316,7 @@ public class FireMessage {
|
||||||
|
|
||||||
taserBulletProjectile.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
taserBulletProjectile.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
||||||
taserBulletProjectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"),
|
taserBulletProjectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"),
|
||||||
(float) (zoom? zoomSpread : spread));
|
(float) (zoom ? zoomSpread : spread));
|
||||||
level.addFreshEntity(taserBulletProjectile);
|
level.addFreshEntity(taserBulletProjectile);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -348,7 +347,7 @@ public class FireMessage {
|
||||||
|
|
||||||
gunGrenadeEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
gunGrenadeEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
||||||
gunGrenadeEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"),
|
gunGrenadeEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) stack.getOrCreateTag().getDouble("velocity"),
|
||||||
(float) (zoom? zoomSpread : spread));
|
(float) (zoom ? zoomSpread : spread));
|
||||||
level.addFreshEntity(gunGrenadeEntity);
|
level.addFreshEntity(gunGrenadeEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -393,7 +392,7 @@ public class FireMessage {
|
||||||
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"), monsterMultiple);
|
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level, (float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"), monsterMultiple);
|
||||||
rocketEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
rocketEntity.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
|
||||||
rocketEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) tag.getDouble("velocity"),
|
rocketEntity.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) tag.getDouble("velocity"),
|
||||||
(float) (zoom? zoomSpread : spread));
|
(float) (zoom ? zoomSpread : spread));
|
||||||
level.addFreshEntity(rocketEntity);
|
level.addFreshEntity(rocketEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue