Create/src/main/java/com/simibubi/create/content/AllSections.java

66 lines
1.4 KiB
Java
Raw Normal View History

2020-05-23 14:02:38 +02:00
package com.simibubi.create.content;
import com.simibubi.create.AllItems;
import com.simibubi.create.Create;
import com.simibubi.create.foundation.item.ItemDescription.Palette;
import net.minecraft.block.Block;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
2020-05-23 14:02:38 +02:00
public enum AllSections {
/** Create's kinetic mechanisms */
KINETICS(Palette.Red),
/** Item transport and other Utility */
LOGISTICS(Palette.Yellow),
/** Helpful gadgets and other shenanigans */
CURIOSITIES(Palette.Purple),
/** Tools for strucuture movement and replication */
SCHEMATICS(Palette.Blue),
/** Decorative blocks */
PALETTES(Palette.Green),
/** Base materials, ingredients and tools */
MATERIALS(Palette.Green),
/** Fallback section */
UNASSIGNED(Palette.Gray)
;
private Palette tooltipPalette;
2020-05-23 14:02:38 +02:00
private AllSections(Palette tooltipPalette) {
this.tooltipPalette = tooltipPalette;
}
public Palette getTooltipPalette() {
return tooltipPalette;
}
2020-05-23 14:02:38 +02:00
public static AllSections of(ItemStack stack) {
Item item = stack.getItem();
if (item instanceof BlockItem)
return ofBlock(((BlockItem) item).getBlock());
return ofItem(item);
}
2020-05-23 14:02:38 +02:00
static AllSections ofItem(Item item) {
for (AllItems allItems : AllItems.values())
if (allItems.get() == item)
return allItems.section;
return UNASSIGNED;
}
2020-05-23 14:02:38 +02:00
static AllSections ofBlock(Block block) {
return Create.registrate().getSection(block);
}
}