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

[Solved] How to make one mod depends on another?


crashtua
 Share

Recommended Posts

I want to bring some general functions of my mods in one separate mod (create something like API). How I can do this? Every mod in forge is singleton, so, can I call required API methods from API. instance? If I can, and how I will know if mod named API was already initialized? It must be initialized before any dependent mod use it. Is there a way to set mod load order?

Link to comment
Share on other sites

Take a look at Mod annotation (I think it's what you want).

example:

@Mod(modid = "moen-jaffas-power", name = "Jaffas - power", version = Reference.Version, dependencies = "required-after:moen-jaffas;required-after:moen-monnef-core")
@NetworkMod(clientSideRequired = true, serverSideRequired = false)
public class mod_jaffas_power {
...

 

EDIT:

there is also soft dependency - without the "required" part, e.g.:

@Mod(modid = Reference.ModId, name = Reference.ModName, version = Reference.Version, dependencies = "after:Forestry;after:BuildCraft|Energy;after:ExtrabiomesXL")

mnn.getNativeLang() != English

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

Link to comment
Share on other sites

  • 6 months later...

Replying for the sake of google. You can add dependencies "before" and "after", as well as specify required vesions:

"required-after:mod1@[1.0,)" - This means you require a mod with id "mod1" of version 1.0 and higher to be loaded before your mod.

See javadoc for cpw.mods.fml.common.versioning.VersionRange.createFromVersionSpec(String spec)

  • Thanks 1
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
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

    • Ok, I used if(level.isClientSide) and I got this error  [23:19:21] [Server thread/FATAL] [ne.mi.co.ForgeMod/]: Preparing crash report with UUID b818d581-ffad-496b-9a66-bbc378a5caba [23:19:21] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception net.minecraft.crash.ReportedException: Ticking block entity at net.minecraft.server.MinecraftServer.tickChildren(MinecraftServer.java:855) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:787) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.tickServer(IntegratedServer.java:78) ~[forge:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:642) ~[forge:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:232) ~[forge:?] {re:classloading,pl:accesstransformer:B} at java.lang.Thread.run(Thread.java:750) [?:1.8.0_332] {} Caused by: java.lang.StackOverflowError at net.minecraft.util.math.BlockPos.lambda$betweenClosed$5(BlockPos.java:322) ~[forge:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:74) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} at java.lang.Iterable.forEach(Iterable.java:75) ~[?:1.8.0_332] {} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tick(TimeGemBlockEntity.java:99) ~[?:?] {re:classloading} at manueh.marvel_themod.common.entity.TimeGemBlockEntity.tickBlock(TimeGemBlockEntity.java:129) ~[?:?] {re:classloading} @Override public void tick() { if (this.speed == 0 || (this.xRange == 0 && this.yRange == 0 && this.zRange == 0)) return; if(!level.isClientSide) { randomTicks = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING); this.area.forEach(this::tickBlock); }} private void tickBlock(BlockPos pos) { if (level.isClientSide) return; ITickableTileEntity tickableBlockEntity; BlockState blockState = this.level.getBlockState(pos); Block block = blockState.getBlock(); if (TimeGemAPI.INSTANCE.isBlockBlacklisted(block)) return; if (this.level instanceof ServerWorld && block.isRandomlyTicking(blockState) && this.level.getRandom().nextInt(MathHelper.clamp(4096 / this.speed * 4, 1, 4096)) < randomTicks) blockState.randomTick((ServerWorld)this.level, pos, this.level.getRandom()); TileEntity blockEntity = this.level.getBlockEntity(pos); if (blockEntity != null && !blockEntity.isRemoved()) { TileEntity tileEntity = blockEntity; if (tileEntity instanceof ITickableTileEntity) { tickableBlockEntity = (ITickableTileEntity)tileEntity; } else { return; } } else { return; } if(!level.isClientSide) { for (int i = 0; i < this.speed && !blockEntity.isRemoved(); i++) tickableBlockEntity.tick(); } }  
    • Don't use OnlyIn. That is meant to mark vanilla code so you know which side it belongs to. What you did is remove the method from the class on the client version of minecraft. In your tick method add an isClientSide check. Ticking in the client is usually only used for modifying variables related to animations.
    • what about a raw NBT tag? I only need to store a boolean, after all
    • There are at least 2 different ways to do this.   net.minecraft.world.entity.ai.attributes.Attributes This is not something I've not played with. So I can't say much about it. The basic idea is each entity has a set of attributes. Which can also have permanent or transient AttributeModifiers. These modifiers are linked to ArmorItems or MobEffects, or they could be "ad hoc". Forge has some events that let you configure attributes for entities: EntityAttribute(Creation/Modification)Event. Of course you need to register any custom attributes you make. From what I can tell, these attributes are meant to be number ranges.   Forge's capabilities: https://forge.gemwire.uk/wiki/Capabilities These are much more general and let you attach any data to most important in game things, but they also provide an "interface" for mod communication. It is good to learn this system, things like item handling across mods or FE (forge energy) uses capabilities. The major drawback with capabilities is they don't automatically synchronize with the client, so you have to do this yourself. Which is something people can struggle with until they understand it. The issue is due to capabilities being flexible, forge can't really know what/how/when you want to synchronize.
  • Topics

×
×
  • Create New...

Important Information

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