|
1 | 1 | package dev.manifold; |
2 | 2 |
|
3 | 3 | import dev.manifold.gui.MassScreen; |
4 | | -import dev.manifold.network.packets.ConstructSectionDataS2CPacket; |
5 | | -import dev.manifold.network.packets.MassGuiDataRefreshS2CPacket; |
6 | | -import dev.manifold.network.packets.MassGuiDataS2CPacket; |
7 | | -import dev.manifold.network.packets.PickConstructBlockWithDataS2CPacket; |
| 4 | +import dev.manifold.mass.MassManager; |
| 5 | +import dev.manifold.network.packets.*; |
8 | 6 | import dev.manifold.render.ManifoldRenderChunk; |
9 | 7 | import dev.manifold.render.ManifoldRenderChunkRegion; |
10 | 8 | import io.netty.buffer.Unpooled; |
11 | 9 | import net.fabricmc.api.ClientModInitializer; |
12 | 10 | import net.fabricmc.api.EnvType; |
13 | 11 | import net.fabricmc.api.Environment; |
14 | 12 | import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientWorldEvents; |
| 13 | +import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; |
15 | 14 | import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; |
16 | 15 | import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents; |
| 16 | +import net.minecraft.ChatFormatting; |
17 | 17 | import net.minecraft.client.Camera; |
18 | 18 | import net.minecraft.client.Minecraft; |
19 | 19 | import net.minecraft.client.player.LocalPlayer; |
|
22 | 22 | import net.minecraft.nbt.CompoundTag; |
23 | 23 | import net.minecraft.nbt.Tag; |
24 | 24 | import net.minecraft.network.FriendlyByteBuf; |
| 25 | +import net.minecraft.network.chat.Component; |
25 | 26 | import net.minecraft.util.Mth; |
26 | 27 | import net.minecraft.world.InteractionHand; |
27 | 28 | import net.minecraft.world.entity.Entity; |
28 | 29 | import net.minecraft.world.entity.player.Inventory; |
| 30 | +import net.minecraft.world.item.Item; |
29 | 31 | import net.minecraft.world.item.ItemStack; |
| 32 | +import net.minecraft.world.item.TooltipFlag; |
30 | 33 | import net.minecraft.world.level.ChunkPos; |
31 | 34 | import net.minecraft.world.level.ClipContext; |
32 | 35 | import net.minecraft.world.level.Level; |
|
41 | 44 | import org.jetbrains.annotations.Nullable; |
42 | 45 | import org.joml.Quaternionf; |
43 | 46 | import org.joml.Vector3f; |
| 47 | +import org.w3c.dom.Text; |
44 | 48 |
|
45 | 49 | import java.util.*; |
46 | 50 |
|
@@ -207,6 +211,20 @@ public void onInitializeClient() { |
207 | 211 | } |
208 | 212 | }) |
209 | 213 | ); |
| 214 | + |
| 215 | + ItemTooltipCallback.EVENT.register((ItemStack stack, Item.TooltipContext context, TooltipFlag type, List<Component> lines) -> { |
| 216 | + if (type.isAdvanced()) { |
| 217 | + MassManager.getMass(stack.getItem()).ifPresentOrElse(mass -> { |
| 218 | + lines.add(1, Component.literal("Mass: " + mass + " kg") |
| 219 | + .withStyle(style -> style.withColor(ChatFormatting.DARK_GRAY)) |
| 220 | + ); |
| 221 | + }, () -> { |
| 222 | + lines.add(1, Component.literal("Mass: 1000 kg") |
| 223 | + .withStyle(style -> style.withColor(ChatFormatting.DARK_GRAY)) |
| 224 | + ); |
| 225 | + }); |
| 226 | + } |
| 227 | + }); |
210 | 228 | } |
211 | 229 |
|
212 | 230 | private void handlePickConstructData(PickConstructBlockWithDataS2CPacket packet) { |
|
0 commit comments