取消伤害随等级提升机制,删除pvpmode
This commit is contained in:
parent
586ad629dd
commit
62a9a53e3f
10 changed files with 40 additions and 128 deletions
|
@ -1,37 +0,0 @@
|
||||||
|
|
||||||
package net.mcreator.superbwarfare.command;
|
|
||||||
|
|
||||||
import net.mcreator.superbwarfare.network.ModVariables;
|
|
||||||
import net.minecraft.commands.Commands;
|
|
||||||
import net.minecraft.network.chat.Component;
|
|
||||||
import net.minecraft.server.level.ServerLevel;
|
|
||||||
import net.minecraft.world.entity.Entity;
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
|
||||||
import net.minecraft.world.level.Level;
|
|
||||||
import net.minecraftforge.common.util.FakePlayerFactory;
|
|
||||||
import net.minecraftforge.event.RegisterCommandsEvent;
|
|
||||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
||||||
import net.minecraftforge.fml.common.Mod;
|
|
||||||
|
|
||||||
@Mod.EventBusSubscriber
|
|
||||||
public class PVPModeCommand {
|
|
||||||
@SubscribeEvent
|
|
||||||
public static void registerCommand(RegisterCommandsEvent event) {
|
|
||||||
event.getDispatcher().register(Commands.literal("superbwarfare:pvpmode").requires(s -> s.hasPermission(4)).executes(arguments -> {
|
|
||||||
Level world = arguments.getSource().getUnsidedLevel();
|
|
||||||
Entity entity = arguments.getSource().getEntity();
|
|
||||||
if (entity == null && world instanceof ServerLevel server) {
|
|
||||||
entity = FakePlayerFactory.getMinecraft(server);
|
|
||||||
}
|
|
||||||
|
|
||||||
var mapVariables = ModVariables.MapVariables.get(world);
|
|
||||||
mapVariables.pvpMode = !mapVariables.pvpMode;
|
|
||||||
mapVariables.syncData(world);
|
|
||||||
|
|
||||||
if (entity instanceof Player player && !player.level().isClientSide()) {
|
|
||||||
player.displayClientMessage(Component.translatable("commands.pvp_mode." + (mapVariables.pvpMode ? "on" : "off")), false);
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -194,7 +194,7 @@ public class GunEventHandler {
|
||||||
|
|
||||||
if (!player.level().isClientSide()) {
|
if (!player.level().isClientSide()) {
|
||||||
float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot");
|
float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot");
|
||||||
float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("sentinelChargeDamage")) * (float) heldItem.getOrCreateTag().getDouble("levelDamageMultiple") * (float) perkDamage(heldItem);
|
float damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("sentinelChargeDamage")) * (float) perkDamage(heldItem);
|
||||||
float velocity = (float) heldItem.getOrCreateTag().getDouble("velocity") * (float) perkSpeed(heldItem);
|
float velocity = (float) heldItem.getOrCreateTag().getDouble("velocity") * (float) perkSpeed(heldItem);
|
||||||
int projectileAmount = (int) heldItem.getOrCreateTag().getDouble("projectile_amount");
|
int projectileAmount = (int) heldItem.getOrCreateTag().getDouble("projectile_amount");
|
||||||
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
float bypassArmorRate = (float) heldItem.getOrCreateTag().getDouble("BypassesArmor");
|
||||||
|
|
|
@ -212,7 +212,7 @@ public class LivingEventHandler {
|
||||||
var tag = stack.getOrCreateTag();
|
var tag = stack.getOrCreateTag();
|
||||||
int level = stack.getOrCreateTag().getInt("Level");
|
int level = stack.getOrCreateTag().getInt("Level");
|
||||||
double exp = stack.getOrCreateTag().getDouble("Exp");
|
double exp = stack.getOrCreateTag().getDouble("Exp");
|
||||||
double upgradeExpNeeded = 20 * Math.pow(level, 2) + 160 * level + 20;
|
double upgradeExpNeeded = 20 * Math.pow(level, 2) + 140 * level + 20;
|
||||||
|
|
||||||
if (exp >= upgradeExpNeeded) {
|
if (exp >= upgradeExpNeeded) {
|
||||||
tag.putDouble("Exp", exp - upgradeExpNeeded);
|
tag.putDouble("Exp", exp - upgradeExpNeeded);
|
||||||
|
|
|
@ -6,6 +6,8 @@ import net.mcreator.superbwarfare.init.ModSounds;
|
||||||
import net.mcreator.superbwarfare.init.ModTags;
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
import net.mcreator.superbwarfare.network.ModVariables;
|
import net.mcreator.superbwarfare.network.ModVariables;
|
||||||
import net.mcreator.superbwarfare.network.message.SimulationDistanceMessage;
|
import net.mcreator.superbwarfare.network.message.SimulationDistanceMessage;
|
||||||
|
import net.mcreator.superbwarfare.tools.GunInfo;
|
||||||
|
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||||
import net.mcreator.superbwarfare.tools.SoundTool;
|
import net.mcreator.superbwarfare.tools.SoundTool;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.nbt.CompoundTag;
|
import net.minecraft.nbt.CompoundTag;
|
||||||
|
@ -52,13 +54,29 @@ public class PlayerEventHandler {
|
||||||
capability.syncPlayerVariables(player);
|
capability.syncPlayerVariables(player);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!ModVariables.MapVariables.get(player.level()).pvpMode) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (ItemStack stack : player.getInventory().items) {
|
for (ItemStack stack : player.getInventory().items) {
|
||||||
if (stack.is(ModTags.Items.GUN)) {
|
if (stack.is(ModTags.Items.GUN)) {
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag"));
|
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
||||||
|
GunsTool.reload(player, GunInfo.Type.SHOTGUN);
|
||||||
|
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
||||||
|
GunsTool.reload(player, GunInfo.Type.SNIPER);
|
||||||
|
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
||||||
|
GunsTool.reload(player, GunInfo.Type.HANDGUN);
|
||||||
|
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
||||||
|
GunsTool.reload(player, GunInfo.Type.RIFLE);
|
||||||
|
} else if (stack.getItem() == ModItems.TASER.get()) {
|
||||||
|
stack.getOrCreateTag().putInt("ammo", 1);
|
||||||
|
player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.TASER_ELECTRODE.get(), 1, player.inventoryMenu.getCraftSlots());
|
||||||
|
} else if (stack.getItem() == ModItems.M_79.get()) {
|
||||||
|
stack.getOrCreateTag().putInt("ammo", 1);
|
||||||
|
player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.GRENADE_40MM.get(), 1, player.inventoryMenu.getCraftSlots());
|
||||||
|
} else if (stack.getItem() == ModItems.RPG.get()) {
|
||||||
|
stack.getOrCreateTag().putInt("ammo", 1);
|
||||||
|
player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.ROCKET.get(), 1, player.inventoryMenu.getCraftSlots());
|
||||||
|
} else if (stack.getItem() == ModItems.JAVELIN.get()) {
|
||||||
|
stack.getOrCreateTag().putInt("ammo", 1);
|
||||||
|
player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.JAVELIN_MISSILE.get(), 1, player.inventoryMenu.getCraftSlots());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -54,7 +54,6 @@ public abstract class GunItem extends Item {
|
||||||
GunsTool.genUUID(itemstack);
|
GunsTool.genUUID(itemstack);
|
||||||
ItemNBTTool.setBoolean(itemstack, "init", true);
|
ItemNBTTool.setBoolean(itemstack, "init", true);
|
||||||
}
|
}
|
||||||
GunsTool.pvpModeCheck(itemstack, level);
|
|
||||||
|
|
||||||
if (itemstack.getOrCreateTag().getBoolean("draw")) {
|
if (itemstack.getOrCreateTag().getBoolean("draw")) {
|
||||||
itemstack.getOrCreateTag().putBoolean("draw", false);
|
itemstack.getOrCreateTag().putBoolean("draw", false);
|
||||||
|
|
|
@ -211,7 +211,7 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
int energyStored = energy.getEnergyStored();
|
int energyStored = energy.getEnergyStored();
|
||||||
if (energyStored > 0) {
|
if (energyStored > 0) {
|
||||||
energy.extractEnergy(5, false);
|
energy.extractEnergy(5, false);
|
||||||
tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage") * tag.getDouble("levelDamageMultiple"));
|
tag.putDouble("sentinelChargeDamage", 0.2857142857142857 * tag.getDouble("damage"));
|
||||||
} else {
|
} else {
|
||||||
tag.putDouble("sentinelChargeDamage", 0);
|
tag.putDouble("sentinelChargeDamage", 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,6 @@ import net.minecraft.world.entity.Entity;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.level.Level;
|
import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.LevelAccessor;
|
import net.minecraft.world.level.LevelAccessor;
|
||||||
import net.minecraft.world.level.ServerLevelAccessor;
|
|
||||||
import net.minecraft.world.level.saveddata.SavedData;
|
import net.minecraft.world.level.saveddata.SavedData;
|
||||||
import net.minecraftforge.common.capabilities.*;
|
import net.minecraftforge.common.capabilities.*;
|
||||||
import net.minecraftforge.common.util.FakePlayer;
|
import net.minecraftforge.common.util.FakePlayer;
|
||||||
|
@ -95,11 +94,7 @@ public class ModVariables {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
|
public static void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
|
||||||
if (event.getEntity().level().isClientSide()) return;
|
if (event.getEntity().level().isClientSide()) return;
|
||||||
|
|
||||||
SavedData mapData = MapVariables.get(event.getEntity().level());
|
|
||||||
SavedData worldData = WorldVariables.get(event.getEntity().level());
|
SavedData worldData = WorldVariables.get(event.getEntity().level());
|
||||||
if (mapData != null)
|
|
||||||
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getEntity()), new SavedDataSyncMessage(0, mapData));
|
|
||||||
if (worldData != null)
|
if (worldData != null)
|
||||||
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getEntity()), new SavedDataSyncMessage(1, worldData));
|
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getEntity()), new SavedDataSyncMessage(1, worldData));
|
||||||
}
|
}
|
||||||
|
@ -107,7 +102,6 @@ public class ModVariables {
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onPlayerChangedDimension(PlayerEvent.PlayerChangedDimensionEvent event) {
|
public static void onPlayerChangedDimension(PlayerEvent.PlayerChangedDimensionEvent event) {
|
||||||
if (event.getEntity().level().isClientSide()) return;
|
if (event.getEntity().level().isClientSide()) return;
|
||||||
|
|
||||||
SavedData worldData = WorldVariables.get(event.getEntity().level());
|
SavedData worldData = WorldVariables.get(event.getEntity().level());
|
||||||
if (worldData != null)
|
if (worldData != null)
|
||||||
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getEntity()), new SavedDataSyncMessage(1, worldData));
|
ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> (ServerPlayer) event.getEntity()), new SavedDataSyncMessage(1, worldData));
|
||||||
|
@ -146,44 +140,6 @@ public class ModVariables {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MapVariables extends SavedData {
|
|
||||||
public static final String DATA_NAME = ModUtils.MODID + "_map_variables";
|
|
||||||
public boolean pvpMode = false;
|
|
||||||
|
|
||||||
public static MapVariables load(CompoundTag tag) {
|
|
||||||
MapVariables data = new MapVariables();
|
|
||||||
data.read(tag);
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static MapVariables get(LevelAccessor world) {
|
|
||||||
if (world instanceof ServerLevelAccessor serverLevelAcc) {
|
|
||||||
var level = serverLevelAcc.getLevel().getServer().getLevel(Level.OVERWORLD);
|
|
||||||
if (level != null) {
|
|
||||||
return level.getDataStorage().computeIfAbsent(MapVariables::load, MapVariables::new, DATA_NAME);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return clientSide;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void read(CompoundTag nbt) {
|
|
||||||
pvpMode = nbt.getBoolean("pvp_mode");
|
|
||||||
}
|
|
||||||
|
|
||||||
public void syncData(LevelAccessor world) {
|
|
||||||
this.setDirty();
|
|
||||||
if (world instanceof Level && !world.isClientSide())
|
|
||||||
ModUtils.PACKET_HANDLER.send(PacketDistributor.ALL.noArg(), new SavedDataSyncMessage(0, this));
|
|
||||||
}
|
|
||||||
|
|
||||||
static MapVariables clientSide = new MapVariables();
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public CompoundTag save(CompoundTag nbt) {
|
|
||||||
nbt.putBoolean("pvp_mode", pvpMode);
|
|
||||||
return nbt;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static class SavedDataSyncMessage {
|
public static class SavedDataSyncMessage {
|
||||||
private final int type;
|
private final int type;
|
||||||
|
@ -194,11 +150,7 @@ public class ModVariables {
|
||||||
CompoundTag nbt = buffer.readNbt();
|
CompoundTag nbt = buffer.readNbt();
|
||||||
if (nbt == null) return;
|
if (nbt == null) return;
|
||||||
|
|
||||||
this.data = this.type == 0 ? new MapVariables() : new WorldVariables();
|
new WorldVariables();
|
||||||
if (this.data instanceof MapVariables mapVariables)
|
|
||||||
mapVariables.read(nbt);
|
|
||||||
else if (this.data instanceof WorldVariables worldVariables)
|
|
||||||
worldVariables.read(nbt);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SavedDataSyncMessage(int type, SavedData data) {
|
public SavedDataSyncMessage(int type, SavedData data) {
|
||||||
|
@ -216,9 +168,7 @@ public class ModVariables {
|
||||||
NetworkEvent.Context context = contextSupplier.get();
|
NetworkEvent.Context context = contextSupplier.get();
|
||||||
context.enqueueWork(() -> {
|
context.enqueueWork(() -> {
|
||||||
if (!context.getDirection().getReceptionSide().isServer() && message.data != null) {
|
if (!context.getDirection().getReceptionSide().isServer() && message.data != null) {
|
||||||
if (message.type == 0)
|
if (message.type != 0)
|
||||||
MapVariables.clientSide = (MapVariables) message.data;
|
|
||||||
else
|
|
||||||
WorldVariables.clientSide = (WorldVariables) message.data;
|
WorldVariables.clientSide = (WorldVariables) message.data;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -269,10 +269,10 @@ public class FireMessage {
|
||||||
|
|
||||||
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zoom) {
|
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zoom) {
|
||||||
spread = 0.01f;
|
spread = 0.01f;
|
||||||
damage = 0.08333333 * tag.getDouble("damage") * tag.getDouble("speed") * tag.getDouble("levelDamageMultiple") * perkDamage(heldItem);
|
damage = 0.08333333 * tag.getDouble("damage") * tag.getDouble("speed") * perkDamage(heldItem);
|
||||||
} else {
|
} else {
|
||||||
spread = perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 1 : 2.5f;
|
spread = perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 1 : 2.5f;
|
||||||
damage = (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 0.08333333 : 0.008333333) * tag.getDouble("damage") * tag.getDouble("speed") * tag.getDouble("levelDamageMultiple") * perkDamage(heldItem);
|
damage = (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug ? 0.08333333 : 0.008333333) * tag.getDouble("damage") * tag.getDouble("speed") * perkDamage(heldItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
ProjectileEntity projectile = new ProjectileEntity(player.level())
|
ProjectileEntity projectile = new ProjectileEntity(player.level())
|
||||||
|
@ -408,7 +408,7 @@ public class FireMessage {
|
||||||
Level level = player.level();
|
Level level = player.level();
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level,
|
GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, level,
|
||||||
(float) stack.getOrCreateTag().getDouble("damage") * (float) stack.getOrCreateTag().getDouble("levelDamageMultiple"));
|
(float) stack.getOrCreateTag().getDouble("damage"));
|
||||||
|
|
||||||
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
||||||
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
||||||
|
@ -461,7 +461,7 @@ public class FireMessage {
|
||||||
|
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level,
|
RpgRocketEntity rocketEntity = new RpgRocketEntity(player, level,
|
||||||
(float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"));
|
(float) tag.getDouble("damage"));
|
||||||
|
|
||||||
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
||||||
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
||||||
|
@ -526,7 +526,7 @@ public class FireMessage {
|
||||||
|
|
||||||
if (!level.isClientSide()) {
|
if (!level.isClientSide()) {
|
||||||
JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level,
|
JavelinMissileEntity missileEntity = new JavelinMissileEntity(player, level,
|
||||||
(float) tag.getDouble("damage") * (float) tag.getDouble("levelDamageMultiple"));
|
(float) tag.getDouble("damage"));
|
||||||
|
|
||||||
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
var dmgPerk = PerkHelper.getPerkByType(stack, Perk.Type.DAMAGE);
|
||||||
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
if (dmgPerk == ModPerks.MONSTER_HUNTER.get()) {
|
||||||
|
|
|
@ -64,18 +64,6 @@ public class GunsTool {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void pvpModeCheck(ItemStack stack, Level level) {
|
|
||||||
if (!ModVariables.MapVariables.get(level).pvpMode) {
|
|
||||||
if (stack.getOrCreateTag().getInt("Level") >= 10) {
|
|
||||||
stack.getOrCreateTag().putDouble("levelDamageMultiple", 1 + 0.05 * (stack.getOrCreateTag().getInt("Level") - 10));
|
|
||||||
} else {
|
|
||||||
stack.getOrCreateTag().putDouble("levelDamageMultiple", 1);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
stack.getOrCreateTag().putDouble("levelDamageMultiple", 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void genUUID(ItemStack stack) {
|
public static void genUUID(ItemStack stack) {
|
||||||
UUID uuid = UUID.randomUUID();
|
UUID uuid = UUID.randomUUID();
|
||||||
stack.getOrCreateTag().putUUID("gun_uuid", uuid);
|
stack.getOrCreateTag().putUUID("gun_uuid", uuid);
|
||||||
|
|
|
@ -52,8 +52,7 @@ public class TooltipTool {
|
||||||
public static void addGunTips(List<Component> tooltip, ItemStack stack) {
|
public static void addGunTips(List<Component> tooltip, ItemStack stack) {
|
||||||
tooltip.add(Component.literal(""));
|
tooltip.add(Component.literal(""));
|
||||||
|
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0)
|
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * perkDamage(stack);
|
||||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1) * perkDamage(stack);
|
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
|
@ -77,16 +76,14 @@ public class TooltipTool {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (slug) {
|
if (slug) {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "projectile_amount", 0)
|
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "projectile_amount", 0) * perkDamage(stack);
|
||||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1) * perkDamage(stack);
|
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (heBullet(stack) ? " + " + new DecimalFormat("##.#").format(0.8 * damage * (1 + 0.1 * heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN)));
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (heBullet(stack) ? " + " + new DecimalFormat("##.#").format(0.8 * damage * (1 + 0.1 * heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN)));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0)
|
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * perkDamage(stack);
|
||||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1) * perkDamage(stack);
|
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
|
@ -220,7 +217,7 @@ public class TooltipTool {
|
||||||
slug = true;
|
slug = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
double total = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1) * perkDamage(stack);
|
double total = ItemNBTTool.getDouble(stack, "damage", 0) * perkDamage(stack);
|
||||||
|
|
||||||
if (slug) {
|
if (slug) {
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
|
@ -251,14 +248,13 @@ public class TooltipTool {
|
||||||
if (flag.get()) {
|
if (flag.get()) {
|
||||||
double damage = (ItemNBTTool.getDouble(stack, "damage", 0) +
|
double damage = (ItemNBTTool.getDouble(stack, "damage", 0) +
|
||||||
ItemNBTTool.getDouble(stack, "sentinelChargeDamage", 0))
|
ItemNBTTool.getDouble(stack, "sentinelChargeDamage", 0))
|
||||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1)
|
|
||||||
* perkDamage(stack);
|
* perkDamage(stack);
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (heBullet(stack) ? " + " + new DecimalFormat("##.#").format(0.8 * damage * (1 + 0.1 * heBulletLevel(stack))) : "")).withStyle(ChatFormatting.AQUA).withStyle(ChatFormatting.BOLD)));
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + (heBullet(stack) ? " + " + new DecimalFormat("##.#").format(0.8 * damage * (1 + 0.1 * heBulletLevel(stack))) : "")).withStyle(ChatFormatting.AQUA).withStyle(ChatFormatting.BOLD)));
|
||||||
} else {
|
} else {
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1) * perkDamage(stack);
|
double damage = ItemNBTTool.getDouble(stack, "damage", 0) * perkDamage(stack);
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
|
@ -280,8 +276,7 @@ public class TooltipTool {
|
||||||
public static void addTaserTips(List<Component> tooltip, ItemStack stack) {
|
public static void addTaserTips(List<Component> tooltip, ItemStack stack) {
|
||||||
tooltip.add(Component.literal(""));
|
tooltip.add(Component.literal(""));
|
||||||
|
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0)
|
double damage = ItemNBTTool.getDouble(stack, "damage", 0);
|
||||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
|
@ -302,8 +297,7 @@ public class TooltipTool {
|
||||||
public static void addLauncherTips(List<Component> tooltip, ItemStack stack) {
|
public static void addLauncherTips(List<Component> tooltip, ItemStack stack) {
|
||||||
tooltip.add(Component.literal(""));
|
tooltip.add(Component.literal(""));
|
||||||
|
|
||||||
double damage = ItemNBTTool.getDouble(stack, "damage", 0)
|
double damage = ItemNBTTool.getDouble(stack, "damage", 0);
|
||||||
* ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1);
|
|
||||||
|
|
||||||
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY)
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
|
|
Loading…
Add table
Reference in a new issue