添加第三人称越肩射击
This commit is contained in:
parent
161cc52fb5
commit
9a8901823b
9 changed files with 89 additions and 10 deletions
|
@ -1,4 +1,4 @@
|
||||||
// 1.20.1 2024-09-29T01:21:56.4028996 Tags for minecraft:item mod id superbwarfare
|
// 1.20.1 2024-09-29T03:35:49.8169729 Tags for minecraft:item mod id superbwarfare
|
||||||
cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json
|
cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json
|
||||||
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json
|
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json
|
||||||
295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json
|
295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json
|
||||||
|
@ -29,6 +29,7 @@ af6fd64b4a685c353f243763db268f7b2304c009 data/forge/tags/items/storage_blocks/le
|
||||||
4d4dfd25a2a749e000e1bb742c2f984d4e094e5d data/superbwarfare/tags/items/cannot_reload.json
|
4d4dfd25a2a749e000e1bb742c2f984d4e094e5d data/superbwarfare/tags/items/cannot_reload.json
|
||||||
99a5a3a4bb6b5fb641dcd449937365ea174f3797 data/superbwarfare/tags/items/gun.json
|
99a5a3a4bb6b5fb641dcd449937365ea174f3797 data/superbwarfare/tags/items/gun.json
|
||||||
62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json
|
62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json
|
||||||
|
c28a85bbe8de35bb681cc50e6e29631410e79b06 data/superbwarfare/tags/items/is_auto_weapon.json
|
||||||
68ec25b0ccd68abbbe2f33ab7097572c2140c9da data/superbwarfare/tags/items/launcher.json
|
68ec25b0ccd68abbbe2f33ab7097572c2140c9da data/superbwarfare/tags/items/launcher.json
|
||||||
b404c6fd99d2ca68c6738f225cb7d68ee443c10a data/superbwarfare/tags/items/machine_gun.json
|
b404c6fd99d2ca68c6738f225cb7d68ee443c10a data/superbwarfare/tags/items/machine_gun.json
|
||||||
4dc20b4a6b2978aba06811a61d1a8e693e1f7b04 data/superbwarfare/tags/items/normal_gun.json
|
4dc20b4a6b2978aba06811a61d1a8e693e1f7b04 data/superbwarfare/tags/items/normal_gun.json
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"superbwarfare:aa_12",
|
||||||
|
"superbwarfare:ak_47",
|
||||||
|
"superbwarfare:hk_416",
|
||||||
|
"superbwarfare:aa_12",
|
||||||
|
"superbwarfare:m_4",
|
||||||
|
"superbwarfare:qbz_95",
|
||||||
|
"superbwarfare:mk_14",
|
||||||
|
"superbwarfare:aa_12",
|
||||||
|
"superbwarfare:glock_18",
|
||||||
|
"superbwarfare:vector",
|
||||||
|
"superbwarfare:aa_12",
|
||||||
|
"superbwarfare:minigun",
|
||||||
|
"superbwarfare:devotion",
|
||||||
|
"superbwarfare:m_60",
|
||||||
|
"superbwarfare:rpk"
|
||||||
|
]
|
||||||
|
}
|
|
@ -73,7 +73,7 @@ public class CrossHairOverlay {
|
||||||
float finPosX = ((w - finLength) / 2) + moveX;
|
float finPosX = ((w - finLength) / 2) + moveX;
|
||||||
float finPosY = ((h - finLength) / 2) + moveY;
|
float finPosY = ((h - finLength) / 2) + moveY;
|
||||||
|
|
||||||
if (shouldRenderCrossHair(player) || stack.is(ModItems.MINIGUN.get())) {
|
if (shouldRenderCrossHair(player) || (Minecraft.getInstance().options.getCameraType() == CameraType.FIRST_PERSON && stack.is(ModItems.MINIGUN.get())) || (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK && (ClientEventHandler.zoomTime > 0 || ClientEventHandler.pullPos > 0))) {
|
||||||
preciseBlit(guiGraphics, new ResourceLocation(ModUtils.MODID, "textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16);
|
preciseBlit(guiGraphics, new ResourceLocation(ModUtils.MODID, "textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16);
|
||||||
if (!player.isSprinting() || player.getPersistentData().getDouble("noRun") > 0) {
|
if (!player.isSprinting() || player.getPersistentData().getDouble("noRun") > 0) {
|
||||||
if (stack.is(ModTags.Items.SHOTGUN)) {
|
if (stack.is(ModTags.Items.SHOTGUN)) {
|
||||||
|
|
|
@ -87,6 +87,9 @@ public class ModItemTagProvider extends ItemTagsProvider {
|
||||||
ModItems.SVD.get(), ModItems.M_98B.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get());
|
ModItems.SVD.get(), ModItems.M_98B.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get());
|
||||||
this.tag(ModTags.Items.LAUNCHER).add(ModItems.M_79.get(), ModItems.RPG.get(), ModItems.JAVELIN.get());
|
this.tag(ModTags.Items.LAUNCHER).add(ModItems.M_79.get(), ModItems.RPG.get(), ModItems.JAVELIN.get());
|
||||||
this.tag(ModTags.Items.CANNOT_RELOAD).add(ModItems.MINIGUN.get(), ModItems.BOCEK.get());
|
this.tag(ModTags.Items.CANNOT_RELOAD).add(ModItems.MINIGUN.get(), ModItems.BOCEK.get());
|
||||||
|
this.tag(ModTags.Items.IS_AUTO_WEAPON).add(ModItems.AA_12.get(), ModItems.AK_47.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(),
|
||||||
|
ModItems.QBZ_95.get(), ModItems.MK_14.get(), ModItems.AA_12.get(), ModItems.GLOCK_18.get(), ModItems.VECTOR.get(), ModItems.AA_12.get(), ModItems.MINIGUN.get(),
|
||||||
|
ModItems.DEVOTION.get(), ModItems.M_60.get(), ModItems.RPK.get());
|
||||||
}
|
}
|
||||||
|
|
||||||
private static TagKey<Item> forgeTag(String name) {
|
private static TagKey<Item> forgeTag(String name) {
|
||||||
|
|
|
@ -12,6 +12,7 @@ import net.mcreator.superbwarfare.network.message.ShootMessage;
|
||||||
import net.mcreator.superbwarfare.perk.Perk;
|
import net.mcreator.superbwarfare.perk.Perk;
|
||||||
import net.mcreator.superbwarfare.perk.PerkHelper;
|
import net.mcreator.superbwarfare.perk.PerkHelper;
|
||||||
import net.mcreator.superbwarfare.tools.MillisTimer;
|
import net.mcreator.superbwarfare.tools.MillisTimer;
|
||||||
|
import net.mcreator.superbwarfare.tools.SeekTool;
|
||||||
import net.minecraft.client.CameraType;
|
import net.minecraft.client.CameraType;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.multiplayer.ClientLevel;
|
import net.minecraft.client.multiplayer.ClientLevel;
|
||||||
|
@ -25,6 +26,8 @@ import net.minecraft.world.entity.HumanoidArm;
|
||||||
import net.minecraft.world.entity.LivingEntity;
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.level.ClipContext;
|
||||||
|
import net.minecraft.world.phys.Vec3;
|
||||||
import net.minecraftforge.api.distmarker.Dist;
|
import net.minecraftforge.api.distmarker.Dist;
|
||||||
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
|
import net.minecraftforge.client.event.RenderGuiOverlayEvent;
|
||||||
import net.minecraftforge.client.event.RenderHandEvent;
|
import net.minecraftforge.client.event.RenderHandEvent;
|
||||||
|
@ -80,6 +83,7 @@ public class ClientEventHandler {
|
||||||
public static double gunSpread = 0;
|
public static double gunSpread = 0;
|
||||||
public static double fireSpread = 0;
|
public static double fireSpread = 0;
|
||||||
public static double cantFireTime = 0;
|
public static double cantFireTime = 0;
|
||||||
|
public static double lookDistance = 0;
|
||||||
|
|
||||||
public static MillisTimer clientTimer = new MillisTimer();
|
public static MillisTimer clientTimer = new MillisTimer();
|
||||||
|
|
||||||
|
@ -509,9 +513,39 @@ public class ClientEventHandler {
|
||||||
|
|
||||||
if (player == null) return;
|
if (player == null) return;
|
||||||
|
|
||||||
|
double range;
|
||||||
|
Entity lookingEntity = SeekTool.seekEntity(player, player.level(), 520, 5);
|
||||||
|
|
||||||
|
if (lookingEntity != null) {
|
||||||
|
range = player.distanceTo(lookingEntity);
|
||||||
|
} else {
|
||||||
|
range = player.position().distanceTo((Vec3.atLowerCornerOf(player.level().clip(
|
||||||
|
new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(520)),
|
||||||
|
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos())));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lookDistance < range) {
|
||||||
|
lookDistance = Mth.clamp(lookDistance + 0.002 * Math.pow(range - lookDistance, 2) * Minecraft.getInstance().getDeltaFrameTime(),0.01, 520);
|
||||||
|
} else {
|
||||||
|
lookDistance = Mth.clamp(lookDistance - 0.002 * Math.pow(range - lookDistance, 2) * Minecraft.getInstance().getDeltaFrameTime(),0.01, 520);
|
||||||
|
}
|
||||||
|
|
||||||
|
double angle = 0;
|
||||||
|
|
||||||
|
if (lookDistance != 0) {
|
||||||
|
angle = Math.atan(0.6 / lookDistance) * Mth.RAD_TO_DEG;
|
||||||
|
}
|
||||||
|
|
||||||
|
// player.displayClientMessage(Component.nullToEmpty(Component.literal(new DecimalFormat("##").format(lookDistance)) + " " + new DecimalFormat("##.#").format(angle)), true);
|
||||||
|
|
||||||
if (player.getMainHandItem().is(ModTags.Items.GUN) || (player.getVehicle() != null && (player.getVehicle() instanceof ICannonEntity))) {
|
if (player.getMainHandItem().is(ModTags.Items.GUN) || (player.getVehicle() != null && (player.getVehicle() instanceof ICannonEntity))) {
|
||||||
event.setPitch((float) (pitch + cameraRot[0] + 0.2 * turnRot[0] + 3 * velocityY));
|
event.setPitch((float) (pitch + cameraRot[0] + 0.2 * turnRot[0] + 3 * velocityY));
|
||||||
|
if (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK) {
|
||||||
|
event.setYaw((float) (yaw + cameraRot[1] + 0.8 * turnRot[1] - angle * zoomPos));
|
||||||
|
} else {
|
||||||
event.setYaw((float) (yaw + cameraRot[1] + 0.8 * turnRot[1]));
|
event.setYaw((float) (yaw + cameraRot[1] + 0.8 * turnRot[1]));
|
||||||
|
}
|
||||||
|
|
||||||
event.setRoll((float) (roll + cameraRot[2] + 0.35 * turnRot[2]));
|
event.setRoll((float) (roll + cameraRot[2] + 0.35 * turnRot[2]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -538,7 +572,8 @@ public class ClientEventHandler {
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void onFovUpdate(ViewportEvent.ComputeFov event) {
|
public static void onFovUpdate(ViewportEvent.ComputeFov event) {
|
||||||
Player player = Minecraft.getInstance().player;
|
Minecraft mc = Minecraft.getInstance();
|
||||||
|
Player player = mc.player;
|
||||||
if (player == null) {
|
if (player == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -559,7 +594,10 @@ public class ClientEventHandler {
|
||||||
|
|
||||||
double zoom = stack.getOrCreateTag().getDouble("zoom") + stack.getOrCreateTag().getDouble("custom_zoom");
|
double zoom = stack.getOrCreateTag().getDouble("zoom") + stack.getOrCreateTag().getDouble("custom_zoom");
|
||||||
|
|
||||||
|
if (mc.options.getCameraType().isFirstPerson()) {
|
||||||
event.setFOV(event.getFOV() / (1.0 + p * (zoom - 1)) * (1 - 0.4 * breathTime));
|
event.setFOV(event.getFOV() / (1.0 + p * (zoom - 1)) * (1 - 0.4 * breathTime));
|
||||||
|
} else if (mc.options.getCameraType() == CameraType.THIRD_PERSON_BACK)
|
||||||
|
event.setFOV(event.getFOV() / (1.0 + p * 0.01) * (1 - 0.4 * breathTime));
|
||||||
fov = event.getFOV();
|
fov = event.getFOV();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ public class ModTags {
|
||||||
public static final TagKey<Item> NORMAL_GUN = tag("normal_gun");
|
public static final TagKey<Item> NORMAL_GUN = tag("normal_gun");
|
||||||
public static final TagKey<Item> OPEN_BOLT = tag("open_bolt");
|
public static final TagKey<Item> OPEN_BOLT = tag("open_bolt");
|
||||||
public static final TagKey<Item> CANNOT_RELOAD = tag("cannot_reload");
|
public static final TagKey<Item> CANNOT_RELOAD = tag("cannot_reload");
|
||||||
|
public static final TagKey<Item> IS_AUTO_WEAPON = tag("is_auto_weapon");
|
||||||
|
|
||||||
private static TagKey<Item> tag(String name) {
|
private static TagKey<Item> tag(String name) {
|
||||||
return ItemTags.create(new ResourceLocation(ModUtils.MODID, name));
|
return ItemTags.create(new ResourceLocation(ModUtils.MODID, name));
|
||||||
|
|
|
@ -3,8 +3,11 @@ package net.mcreator.superbwarfare.mixins;
|
||||||
import net.mcreator.superbwarfare.entity.DroneEntity;
|
import net.mcreator.superbwarfare.entity.DroneEntity;
|
||||||
import net.mcreator.superbwarfare.entity.Mk42Entity;
|
import net.mcreator.superbwarfare.entity.Mk42Entity;
|
||||||
import net.mcreator.superbwarfare.entity.Mle1934Entity;
|
import net.mcreator.superbwarfare.entity.Mle1934Entity;
|
||||||
|
import net.mcreator.superbwarfare.event.ClientEventHandler;
|
||||||
import net.mcreator.superbwarfare.init.ModItems;
|
import net.mcreator.superbwarfare.init.ModItems;
|
||||||
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
import net.minecraft.client.Camera;
|
import net.minecraft.client.Camera;
|
||||||
|
import net.minecraft.client.CameraType;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.util.Mth;
|
import net.minecraft.util.Mth;
|
||||||
import net.minecraft.world.entity.Entity;
|
import net.minecraft.world.entity.Entity;
|
||||||
|
@ -63,10 +66,16 @@ public abstract class CameraMixin {
|
||||||
public void ia$setup(BlockGetter area, Entity entity, boolean thirdPerson, boolean inverseView, float tickDelta, CallbackInfo ci) {
|
public void ia$setup(BlockGetter area, Entity entity, boolean thirdPerson, boolean inverseView, float tickDelta, CallbackInfo ci) {
|
||||||
if (thirdPerson && entity.getVehicle() instanceof Mk42Entity) {
|
if (thirdPerson && entity.getVehicle() instanceof Mk42Entity) {
|
||||||
move(-getMaxZoom(8), 1.0, 0.0);
|
move(-getMaxZoom(8), 1.0, 0.0);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
if (thirdPerson && entity.getVehicle() instanceof Mle1934Entity) {
|
if (thirdPerson && entity.getVehicle() instanceof Mle1934Entity) {
|
||||||
move(-getMaxZoom(10), 1.3, 0.0);
|
move(-getMaxZoom(10), 1.3, 0.0);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
if (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK && entity instanceof Player player && player.getMainHandItem().is(ModTags.Items.GUN)) {
|
||||||
|
move(-getMaxZoom(-2.9 * Math.max(ClientEventHandler.pullPos, ClientEventHandler.zoomPos)), 0, -0.6 * Math.max(ClientEventHandler.pullPos, ClientEventHandler.zoomPos));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Shadow
|
@Shadow
|
||||||
|
|
|
@ -2,6 +2,7 @@ package net.mcreator.superbwarfare.mixins;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import net.mcreator.superbwarfare.init.ModTags;
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
|
import net.minecraft.client.CameraType;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.GameRenderer;
|
import net.minecraft.client.renderer.GameRenderer;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
@ -20,7 +21,7 @@ public class GameRendererMixin {
|
||||||
Player player = mc.player;
|
Player player = mc.player;
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
ItemStack stack = player.getMainHandItem();
|
ItemStack stack = player.getMainHandItem();
|
||||||
if (stack.is(ModTags.Items.GUN)) {
|
if (stack.is(ModTags.Items.GUN) && Minecraft.getInstance().options.getCameraType() == CameraType.FIRST_PERSON) {
|
||||||
ci.cancel();
|
ci.cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,7 @@ package net.mcreator.superbwarfare.tools;
|
||||||
|
|
||||||
import net.mcreator.superbwarfare.entity.DroneEntity;
|
import net.mcreator.superbwarfare.entity.DroneEntity;
|
||||||
import net.mcreator.superbwarfare.init.ModPerks;
|
import net.mcreator.superbwarfare.init.ModPerks;
|
||||||
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
import net.mcreator.superbwarfare.perk.AmmoPerk;
|
import net.mcreator.superbwarfare.perk.AmmoPerk;
|
||||||
import net.mcreator.superbwarfare.perk.Perk;
|
import net.mcreator.superbwarfare.perk.Perk;
|
||||||
import net.mcreator.superbwarfare.perk.PerkHelper;
|
import net.mcreator.superbwarfare.perk.PerkHelper;
|
||||||
|
@ -36,10 +37,11 @@ public class TooltipTool {
|
||||||
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)).withStyle(ChatFormatting.GREEN)));
|
.append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN)));
|
||||||
|
if (stack.is(ModTags.Items.IS_AUTO_WEAPON)) {
|
||||||
|
addRpmTips(tooltip, stack);
|
||||||
|
}
|
||||||
addLevelTips(tooltip, stack);
|
addLevelTips(tooltip, stack);
|
||||||
addBypassTips(tooltip, stack);
|
addBypassTips(tooltip, stack);
|
||||||
addRpmTips(tooltip, stack);
|
|
||||||
addPerkTips(tooltip, stack);
|
addPerkTips(tooltip, stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -53,10 +55,13 @@ public class TooltipTool {
|
||||||
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
.append(Component.literal("").withStyle(ChatFormatting.RESET))
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage) + " * " + new DecimalFormat("##").format(ItemNBTTool.getDouble(stack, "projectile_amount", 0))).withStyle(ChatFormatting.GREEN)));
|
.append(Component.literal(new DecimalFormat("##.#").format(damage) + " * " + new DecimalFormat("##").format(ItemNBTTool.getDouble(stack, "projectile_amount", 0))).withStyle(ChatFormatting.GREEN)));
|
||||||
|
|
||||||
|
if (stack.is(ModTags.Items.IS_AUTO_WEAPON)) {
|
||||||
|
addRpmTips(tooltip, stack);
|
||||||
|
}
|
||||||
addLevelTips(tooltip, stack);
|
addLevelTips(tooltip, stack);
|
||||||
addBypassTips(tooltip, stack);
|
addBypassTips(tooltip, stack);
|
||||||
addPerkTips(tooltip, stack);
|
addPerkTips(tooltip, stack);
|
||||||
addRpmTips(tooltip, stack);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void addRpmTips(List<Component> tooltip, ItemStack stack) {
|
private static void addRpmTips(List<Component> tooltip, ItemStack stack) {
|
||||||
|
@ -191,10 +196,12 @@ public class TooltipTool {
|
||||||
.append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN)));
|
.append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (stack.is(ModTags.Items.IS_AUTO_WEAPON)) {
|
||||||
|
addRpmTips(tooltip, stack);
|
||||||
|
}
|
||||||
addLevelTips(tooltip, stack);
|
addLevelTips(tooltip, stack);
|
||||||
addBypassTips(tooltip, stack);
|
addBypassTips(tooltip, stack);
|
||||||
addPerkTips(tooltip, stack);
|
addPerkTips(tooltip, stack);
|
||||||
addRpmTips(tooltip, stack);
|
|
||||||
|
|
||||||
stack.getCapability(ForgeCapabilities.ENERGY).ifPresent(
|
stack.getCapability(ForgeCapabilities.ENERGY).ifPresent(
|
||||||
e -> tooltip.add(Component.literal(e.getEnergyStored() + " / " + e.getMaxEnergyStored() + " FE").withStyle(ChatFormatting.GRAY))
|
e -> tooltip.add(Component.literal(e.getEnergyStored() + " / " + e.getMaxEnergyStored() + " FE").withStyle(ChatFormatting.GRAY))
|
||||||
|
|
Loading…
Add table
Reference in a new issue