Maybe try replace models.item to models/item, or even recreate them because sometimes there are little errors that can't be found by just looking at them
https://mcforge.readthedocs.io/en/latest/concepts/sides/#reaching-across-logical-sides
If you look into Minecraft.java, it has a annotation on it
@OnlyIn(Dist.CLIENT)
tells you this is only available on a specific side
https://mcforge.readthedocs.io/en/latest/concepts/sides/#fmlenvironmentdist-and-onlyin
We don't know what the tutorial is, therefore we have no idea what do you mean by "didn't work" and "different from the tutorial". Are you trying to launch minecraft client?
Are you using render player event to render your own thing? The event is called whenever the player is being rendered hence you can have same update rate as the player.
From my experience the motion of player is (0.0, -0.0784000015258789, 0.0) when still is because there's gravitational (downward) acceleration, and the unit should be blocks/tick.
My IDE says
onDifficultyChange(Difficulty difficulty, Difficulty oldDifficulty)
in ForgeHooks is never called in all places, not sure why is this happening
not sure if this is related but in BlockSnapshot
@Override
public int hashCode()
{
int hash = 7;
hash = 73 * hash + this.getMeta();
hash = 73 * hash + this.getDimId();
hash = 73 * hash + this.getPos().hashCode();
hash = 73 * hash + this.getRegistryName().hashCode();
hash = 73 * hash + Objects.hashCode(this.getNbt());
return hash;
}
maybe it is not used directly?