/
TMechContent.java
107 lines (82 loc) · 4.08 KB
/
TMechContent.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
package slimeknights.tmechworks.common;
import net.minecraft.block.Block;
import net.minecraft.item.*;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.tileentity.TileEntityType;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
import net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent;
import net.minecraftforge.fml.event.lifecycle.InterModProcessEvent;
import net.minecraftforge.registries.IForgeRegistry;
import net.minecraftforge.registries.ObjectHolder;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import slimeknights.mantle.client.CreativeTab;
import slimeknights.mantle.common.IRegisterUtil;
import slimeknights.mantle.item.BlockTooltipItem;
import slimeknights.tmechworks.TMechworks;
import slimeknights.tmechworks.common.blocks.FirestarterBlock;
import slimeknights.tmechworks.common.blocks.MetalBlock;
import slimeknights.tmechworks.common.blocks.tileentity.FirestarterTileEntity;
import slimeknights.tmechworks.common.items.MechworksBlockItem;
import slimeknights.tmechworks.common.items.MechworksBookItem;
import java.util.function.Supplier;
@ObjectHolder(TMechworks.modId)
public class TMechContent implements IRegisterUtil {
private Logger log = LogManager.getLogger(TMechworks.modId + ".content");
// Creative tabs
public static CreativeTab tabMechworks = new CreativeTab("TinkersMechworks", new ItemStack(Items.LIME_BANNER));
// Blocks
public static final MetalBlock aluminum_block = null;
public static final MetalBlock copper_block = null;
public static final FirestarterBlock firestarter = null;
// Items
public static final MechworksBookItem book = null;
// Tile Entities
public static final TileEntityType<?> firestarter_te = null;
@Override
public String getModId() {
return TMechworks.modId;
}
@SubscribeEvent
public void registerBlocks(final RegistryEvent.Register<Block> event){
IForgeRegistry<Block> registry = event.getRegistry();
register(registry, new MetalBlock(), "aluminum_block");
register(registry, new MetalBlock(), "copper_block");
// Machines
register(registry, new FirestarterBlock(), "firestarter");
}
@SubscribeEvent
public void registerItems(final RegistryEvent.Register<Item> event){
IForgeRegistry<Item> registry = event.getRegistry();
register(registry, new MechworksBookItem(), "book");
// Metals
registerBlockItem(registry, copper_block, tabMechworks);
registerBlockItem(registry, aluminum_block, tabMechworks);
register(registry, new Item(new Item.Properties().group(tabMechworks)), "copper_ingot");
register(registry, new Item(new Item.Properties().group(tabMechworks)), "aluminum_ingot");
register(registry, new Item(new Item.Properties().group(tabMechworks)), "copper_nugget");
register(registry, new Item(new Item.Properties().group(tabMechworks)), "aluminum_nugget");
// Machines
registerBlockItem(registry, firestarter, tabMechworks);
}
@SubscribeEvent
public void registerTileEntities(final RegistryEvent.Register<TileEntityType<?>> event) {
IForgeRegistry<TileEntityType<?>> registry = event.getRegistry();
register(registry, TileEntityType.Builder.create((Supplier<TileEntity>) FirestarterTileEntity::new, firestarter).build(null), "firestarter_te");
}
// public void registerEntities(final RegistryEvent.Register<EntityType<?>> event){}
public void preInit(FMLCommonSetupEvent event){
}
public void init(InterModEnqueueEvent event){
}
public void postInit(InterModProcessEvent event){
tabMechworks.setDisplayIcon(new ItemStack(book));
}
@Override
public BlockItem registerBlockItem(IForgeRegistry<Item> registry, Block block, ItemGroup group) {
BlockItem itemBlock = new MechworksBlockItem(block, new Item.Properties().group(group));
return this.register(registry, itemBlock, block.getRegistryName());
}
}