Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.16.5] Simple way to add animated item lore? [SOLVED]


Novality
 Share

Recommended Posts

I know how to add advanced tooltips, and regular item lore. 
I've started to explore a bit and ended up pondering animated item lore. I've seen mods that have it, and I was wondering if there was a somewhat simple way that I could do this too!

Any help is greatly appreciated :)

Link to comment
Share on other sites

2 hours ago, Novality said:

I know how to add advanced tooltips, and regular item lore. 
I've started to explore a bit and ended up pondering animated item lore. I've seen mods that have it, and I was wondering if there was a somewhat simple way that I could do this too!

Any help is greatly appreciated :)

Basically, animating an item is nothing else than water, which is an animated block,
you need a texture with the size / height 16/16 * x (x indicates the number of individual textures),
and you need a file_name.png .mcmeta file which handle the animation

take a look at how the water animation works

Link to comment
Share on other sites

7 hours ago, Luis_ST said:

Basically, animating an item is nothing else than water, which is an animated block,
you need a texture with the size / height 16/16 * x (x indicates the number of individual textures),
and you need a file_name.png .mcmeta file which handle the animation

take a look at how the water animation works

You seem to have missed the point of the question. I want an animated tooltip not an animated item texture which can be easily done. 😄

 

Link to comment
Share on other sites

21 minutes ago, Novality said:

You seem to have missed the point of the question. I want an animated tooltip not an animated item texture which can be easily done. 😄

okay sorry about that😅, then define "animated", did you mean the color, font type (bold), ...?

Link to comment
Share on other sites

Just now, Luis_ST said:

okay sorry about that😅, then define "animated", did you mean the color, font type (bold), ...?

No worries! I was looking for something that will periodically bold and unbold green text. But anything specific isn't really needed. An example would be best!

Link to comment
Share on other sites

27 minutes ago, Novality said:

No worries! I was looking for something that will periodically bold and unbold green text. But anything specific isn't really needed. An example would be best!

look at a mod that does exactly what you want to do
Unfortunately, I am not familiar with tooltips, but will try a bit and I give you an answer when I find something that works

Link to comment
Share on other sites

6 hours ago, Luis_ST said:

look at a mod that does exactly what you want to do
Unfortunately, I am not familiar with tooltips, but will try a bit and I give you an answer when I find something that works

I found a solution :D 

Thanks for the help though!

Link to comment
Share on other sites

  • Novality changed the title to [1.16.5] Simple way to add animated item lore? [SOLVED]

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • thankyou for your input. I grab the GUI object on the GuiOpenEvent and the on the world tick event i keep checking it until the inventory loads. this successfully grabs the chest inventory from the client side. here is my final code. package com.example.examplemod; import java.util.ArrayList; import net.minecraft.client.KeyMapping; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen; import net.minecraft.client.multiplayer.ClientPacketListener; import net.minecraft.client.player.LocalPlayer; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.core.NonNullList; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.game.ServerboundContainerClosePacket; import net.minecraft.network.protocol.game.ServerboundMovePlayerPacket; import net.minecraft.network.protocol.game.ServerboundUseItemOnPacket; import net.minecraft.world.InteractionHand; import net.minecraft.world.inventory.Slot; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.entity.*; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.Vec3; import net.minecraftforge.client.event.GuiContainerEvent; import net.minecraftforge.client.event.GuiOpenEvent; import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.event.TickEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent; import net.minecraftforge.fmlclient.registry.ClientRegistry; @Mod.EventBusSubscriber public class ForgeEventHandler { private static ArrayList<BlockPos> homeBase = new ArrayList<BlockPos>(); private static Boolean pressed = false; public static final KeyMapping keyBinding = new KeyMapping("pam SETUP", 79, "PAM"); private static Screen GUI = null; @SubscribeEvent public static void setup(FMLClientSetupEvent event) { ClientRegistry.registerKeyBinding(keyBinding); } @SubscribeEvent public static void updatePlayer(TickEvent.PlayerTickEvent event) { /*if(event.player.canEat(false)){ for(ItemStack inventoryStack : event.player.getInventory().items){ if (inventoryStack.isEdible()) { ForgeEventFactory.onItemUseStart(event.player, inventoryStack, 0); ItemStack result = inventoryStack.getItem().finishUsingItem(inventoryStack, event.player.getCommandSenderWorld(), event.player); ForgeEventFactory.onItemUseFinish(event.player, inventoryStack, 0, result); if (!event.player.canEat(false)) { break; } } } }*/ if (keyBinding.isDown() && !pressed) { pressed = true; homeBase.add(((BlockHitResult) Minecraft.getInstance().player.pick(20.0D, 0.0F, false)).getBlockPos()); System.out.println("set postion"); if (homeBase.size()>=2) { System.out.println("opening container"); openBlock(detectContainers(homeBase).get(0)); homeBase.clear(); } if (!keyBinding.isDown()) { pressed=false; } } } @SubscribeEvent public static void updateWorld(TickEvent.WorldTickEvent event) { if (GUI != null) { if (GUI instanceof AbstractContainerScreen) { AbstractContainerScreen container = ((AbstractContainerScreen)GUI); NonNullList<Slot> slots = container.getMenu().slots; for (int i=0; i<slots.size();i++) { ItemStack temp = slots.get(i).getItem(); System.out.print(temp.getDisplayName().getString()+" | "); } System.out.println(""); GUI = null; } } } @SubscribeEvent public static void openChest(GuiOpenEvent event) { GUI = event.getGui(); } private static ArrayList<Vec3> detectContainers(ArrayList<BlockPos> homebase) { ArrayList<Vec3> chests = new ArrayList<Vec3>(); int x = homebase.get(1).getX()-homebase.get(0).getX(); int y = homebase.get(1).getY()-homebase.get(0).getY(); int z = homebase.get(1).getZ()-homebase.get(0).getZ(); for (int i=homebase.get(0).getX();i!=homebase.get(1).getX();i+=Math.signum(x)) { for (int j=homebase.get(0).getY();j!=homebase.get(1).getY();j+=Math.signum(y)) { for (int k=homebase.get(0).getZ();k!=homebase.get(1).getZ();k+=Math.signum(z)) { BlockEntity temp = Minecraft.getInstance().level.getBlockEntity(new BlockPos(i,j,k)); if (temp instanceof RandomizableContainerBlockEntity && !(temp instanceof HopperBlockEntity)) { chests.add(new Vec3(i,j,k)); } } } } return chests; } @SuppressWarnings("resource") private static void openBlock(Vec3 blockPos){ /*BlockHitResult hit = new BlockHitResult(blockPos, Direction.DOWN, new BlockPos(blockPos), false);*/ BlockHitResult hit = (BlockHitResult) Minecraft.getInstance().player.pick(20.0D, 0.0F, false); Minecraft.getInstance().getConnection().send(new ServerboundUseItemOnPacket(InteractionHand.MAIN_HAND,hit)); } }  
    • Yea, you shouldn't be starting the Minecraft server. That starts a vanilla one. You need to start the forge jar and I think you need to use the bat file that gets generated instead of just opening the jar.
    • 1.12 is no longer supported on this forum. Please update to a modern version of Minecraft to receive support.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.