1.8のもぢんぐでは、アイテムの追加でjson書かないといけないみたい。
描画の設定を記述するんだけど、使い回しが聞かないのが辛い。
実際書いたjsonだけど、基本的にlayer0の値しか変わらない。
これだけのためにコピペしたりするの面倒じゃない?

{
  "parent": "builtin/generated",
  "textures": {
    "layer0": "sweetmod:items/green_candy_cane" ここしか変更しないのに!
  },
  "display": {
    "thirdperson": {
      "rotation": [0, 90, -35],
      "translation": [0, 1.25, -3.5],
      "scale": [0.85, 0.85, 0.85]
    },
    "firstperson": {
      "rotation": [0, -135, 25],
      "translation": [0, 4, 2],
      "scale": [1.7, 1.7, 1.7]
    }
  }
}

というわけでAnnotationProcessorを作ってみた。

方法については以下を参考にするとわかりやすいと思います。
「Java SE 6完全攻略」第94回 アノテーションを処理する その1
「Java SE 6完全攻略」第95回 アノテーションを処理する その2
「Java SE 6完全攻略」第96回 アノテーションを処理する その3
「Java SE 6完全攻略」第97回 アノテーションを処理する その4
「Java SE 6完全攻略」第98回 アノテーションを処理する その5
「Java SE 6完全攻略」第99回 アノテーションを処理する その6
「Java SE 6完全攻略」第100回 アノテーションを処理する その7

結果
アイテム生成はこんな感じになりました

@Languages({
    @Language(langType = LangType.EN_US, key = "item.RedCandyCane.name", name = "RedCandyCane"),
    @Language(langType = LangType.JA_JP, key = "item.RedCandyCane.name", name = "赤いキャンディーケイン")
})
@ItemModel(itemName = "RedCandyCane", textures = "sweetmod:items/red_candy_cane")
public static ItemCandyCane redCandyCane;

langファイルについても面倒なので一緒にAPTで処理できるようにしてみました。

コンパイルした時のファイルの出力先が/build/classes/main/の中になっていたので、コンパイルタスクが終わったら、ファイルを/out/production/{プロジェクト名}/にコピーするタスクをbuild.gradleに書いておしまい。

使ってみた感じかなり便利。AnnotationProcessorが入ったjarはMODのリポジトリのlibsフォルダに入っているので良かったら使ってみてください。

リポジトリ

おまけ
無題