取消伤害随等级提升机制,删除pvpmode

This commit is contained in:
Atsuihsio 2024-10-09 23:55:50 +08:00
parent 586ad629dd
commit 62a9a53e3f
10 changed files with 40 additions and 128 deletions

View file

@ -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;
}));
}
}

View file

@ -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");

View file

@ -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);

View file

@ -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());
}
} }
} }
} }

View file

@ -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);

View file

@ -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);
} }

View file

@ -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;
} }
}); });

View file

@ -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()) {

View file

@ -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);

View file

@ -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))