@Pillar
@Modid(MODID)//no explanation needed
@InitNames({"logone","logtwo"})
class MyLog extends Block(Material.of(WOOD)){}
@BlockProperty(name="axis",type=Axis) //axis can either be an enum, or the minecraft axis class
@Texture({"%name%_side","%name%_top"})
@ModelParent("block/pillar")
@interface Pillar(){}
What it does:
it will build a blockstate file with the proper rotations
a pillar model using the correct textures
The default state and placement state methods, based on the presets related to the data that is attached to it
a mod initializer containing 2 fields, building and registering the block as "logone" and "logtwo"
Note the nested annotation. That is a concept that I got familiar with when I started to work with Junit5. This technology can be used for extensive metaprogramming, and templating.
Modifying code during this phase is usually messy, but we could go around the problem by generating a mixin that applies the required modifications to our class.
1
An extremely rough around the edges example:
What it does:
Note the nested annotation. That is a concept that I got familiar with when I started to work with Junit5. This technology can be used for extensive metaprogramming, and templating.