Jump to content

Item/block tick callback in x ticks


jordan30001

Recommended Posts

How would I go about for example with an item on right click

 

they are probably similar so i would only need one explanation but if they are both diffrent can you point me in both directions please.

ItemPseudoCodeItem onRightClick

 

doMethod(1);

wait 20 ticks

doAnotherMethod("");

wait 90 ticks

doSomeOtherMethod(true);

 

ItemPseudoCodeBlock onPlace

doMethod(1);

wait 20 ticks

doAnotherMethod("");

wait 90 ticks

doSomeOtherMethod(true);

 

Link to comment
Share on other sites

also items dont have a scheduleUpdate()
read whole topic.

 

there are described two possible solutions (one easy to implement but a bit more damanding by diesieben07, second more optimized approach by me).

 

all data you want to pass you have to wrap into the event object. this is not totally trivial stuff, some programming experience is required...

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

Link to comment
Share on other sites

also items dont have a scheduleUpdate()
read whole topic.

 

there are described two possible solutions (one easy to implement but a bit more damanding by diesieben07, second more optimized approach by me).

 

all data you want to pass you have to wrap into the event object. this is not totally trivial stuff, some programming experience is required...

 

Ok so read it so basically I need to create a new object containing a tick number to know when it must fire this object and then x,y,z,itemStack ect into the object then put that into a list of objects into the tick handler class

 

once the tick counter has hit 0 I then doSomeMethodInMyItem(object)

Link to comment
Share on other sites

yep, unlike the other guy you got it fast :). you should also consider saving these data (world storage or something), it all depends if without the event fired can something break.

mnn.getNativeLang() != English

If I helped you please click on the "thank you" button.

Link to comment
Share on other sites

yep, unlike the other guy you got it fast :). you should also consider saving these data (world storage or something), it all depends if without the event fired can something break.

A add on to this thread.

 

I got a little bug that I found is strange and I can not explain easily what's happening in words so here is a youtube video showing what is happening http://youtu.be/KUy0TLNDquU

 

my question from the video is, why when the player dies it still spawns the item but at the players spawn location not at the players current position.

 

to drop the item I am using the EntityPlayer.entityDropItem()

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • What's the issue your running into? The link for the image you posted is also broken.
    • What does NetworkHooks.openScreen(player, blockEntity, pPos) do?
    • At an attempt at answering my first question I thought I might be able to change the code to this public static final RegistryObject<StatType<?>> FIREWORK_BOOSTS_USED = STATISTICS.register("firework_boosts_used", () -> new StatType<>(ForgeRegistries.STAT_TYPES, Component.literal("firework_boosts"))); or to this public static final RegistryObject<StatType<?>> FIREWORK_BOOSTS_USED = STATISTICS.register("firework_boosts_used", () -> new StatType<>(BuiltInRegistries.STAT_TYPE, Component.literal("firework_boosts"))); but for the first code snippet the StatType constructor requires a Registry not an IForgeRegistry and for the second code snippet we run into the same NPE issue from above.
    • Hi guys,   I'm using Crafty installed on CasaOS and i want to create a BetterMC4 Server. Unfortunatly i got an error message. This error only appear when using my "online" server because when i create a singleplayer adventure, everythings works just fine. https://github.com/OwNuT/Errors/issues/1   Thank you !
    • I am attempting to create a mod that adds custom statistics to Minecraft. I've had some help from LexManos on the Discord server, but posting a lot of what I posted in the #mod-dev-support-1.20 channel here to have a more permanent spot for discussion.   ---   Minecraft creates their stats like this: and some of the registries in the code above are located in BuiltInRegistries.java like this: and the ForgeRegistries#STAT_TYPES looks like this: So, attempting to follow that and the forge documentation on registries I arrived at this: Clearly, registering a stat twice in a row is the wrong way to do it, but the makeRegistryStatType function was used as it does give the correct return type for the code I had come up with so far.   ---   At this point the game crashes upon trying to use Player#awardStat, because of a NPE that occurs in Stat#locationToKey. Which happens in the 2nd Stat#locationToKey in the Stat#buildName function. The .getRegistry returns the this.registry class variable with a value of {MappedRegistry@#####} "Registry[ResourceKey[minecraft:root / minecraft:custom_stat] (Stable)]" The value passed into .getKey is "samplemod:fireworks_boosts_used" but the reference found is null. So Lex's conclusion was that "[I'm] passing in null because the registry doesnt have an entry for your custom stat instance. So.. register your custom stat instance in that registry."   ---   So I suppose at this point my questions are 1. How can I create a supplier that returns a Supplier<? extends StatType<?>> to replace the () -> makeRegistryStatType("firework_boosts_used", BuiltInRegistries.CUSTOM_STAT) line of code. 2. Is my registry entry public static final RegistryObject<StatType<?>> FIREWORK_BOOSTS_USED the correct type? 3. Do I need to do anything additional, like create my own StatType<> or my own Stat<> ?
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.