26ed99fda6
Build and deploy / Build (push) Has been cancelled
Build and deploy / Update Contributors (push) Has been cancelled
Build and deploy / Deploy (push) Has been cancelled
66 lines
1.6 KiB
Go
66 lines
1.6 KiB
Go
package category
|
|
|
|
// Category represents the category a custom item will be displayed in, in the creative inventory.
|
|
type Category struct {
|
|
group string
|
|
category uint8
|
|
}
|
|
|
|
// Construction is the first tab in the creative inventory and usually contains blocks that are more for decoration and
|
|
// building than actual functionality.
|
|
func Construction() Category {
|
|
return Category{category: 1}
|
|
}
|
|
|
|
// Nature is the fourth tab in the creative inventory and usually contains blocks and items that can be found naturally
|
|
// in vanilla-generated world.
|
|
func Nature() Category {
|
|
return Category{category: 2}
|
|
}
|
|
|
|
// Equipment is the second tab in the creative inventory and usually contains armour, weapons and tools.
|
|
func Equipment() Category {
|
|
return Category{category: 3}
|
|
}
|
|
|
|
// Items is the third tab in the creative inventory and usually contains blocks and items that do not come under any
|
|
// other category, such as minerals, mob drops, containers and redstone etc.
|
|
func Items() Category {
|
|
return Category{category: 4}
|
|
}
|
|
|
|
// Uint8 ...
|
|
func (c Category) Uint8() uint8 {
|
|
return c.category
|
|
}
|
|
|
|
// WithGroup returns the category with the provided subgroup. This can be used to put an item inside a group such as
|
|
// swords, food or different types of blocks.
|
|
func (c Category) WithGroup(group string) Category {
|
|
c.group = group
|
|
return c
|
|
}
|
|
|
|
// String ...
|
|
func (c Category) String() string {
|
|
switch c.category {
|
|
case 1:
|
|
return "construction"
|
|
case 2:
|
|
return "nature"
|
|
case 3:
|
|
return "equipment"
|
|
case 4:
|
|
return "items"
|
|
}
|
|
panic("should never happen")
|
|
}
|
|
|
|
// Group ...
|
|
func (c Category) Group() string {
|
|
if len(c.group) > 0 {
|
|
return "itemGroup.name." + c.group
|
|
}
|
|
return ""
|
|
}
|