summaryrefslogtreecommitdiff
path: root/src/main/java/lance5057/tDefense/holiday/HolidayBase.java
blob: 4700f6bd3586980421e9effb3f432414b405e439 (plain)
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 lance5057.tDefense.holiday;

import java.util.Calendar;

import lance5057.tDefense.Reference;
import lance5057.tDefense.core.library.ModuleBase;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.item.Item;
import net.minecraft.item.ItemFood;
import net.minecraft.world.storage.loot.LootEntryItem;
import net.minecraft.world.storage.loot.LootTable;
import net.minecraft.world.storage.loot.conditions.LootCondition;
import net.minecraft.world.storage.loot.conditions.RandomChance;
import net.minecraft.world.storage.loot.functions.LootFunction;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.LootTableLoadEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.registries.IForgeRegistry;

@Mod.EventBusSubscriber(modid = Reference.MOD_ID)
public class HolidayBase extends ModuleBase
{
	public HolidayBase()
	{
		MinecraftForge.EVENT_BUS.register(this);
	}

	public static ItemFood	item_redmintcane;
	public static ItemFood	item_greenmintcane;
	public static ItemFood	item_gingerbread;

	@Override
	public void preInit(FMLPreInitializationEvent e)
	{

	}

	@Override
	public void init(FMLInitializationEvent e)
	{
		// TODO Auto-generated method stub

	}

	@Override
	public void postInit(FMLPostInitializationEvent e)
	{
		// TODO Auto-generated method stub

	}

	public void registerItems(final RegistryEvent.Register<Item> event)
	{
		final IForgeRegistry registry = event.getRegistry();

		item_redmintcane = new ItemFood(2, 0, false);
		item_greenmintcane = new ItemFood(2, 0, false);
		item_gingerbread = new ItemFood(20, 20, false);

		item_redmintcane.setRegistryName("redmintcane");
		item_greenmintcane.setRegistryName("greenmintcane");
		item_gingerbread.setRegistryName("gingerbread");

		registry.register(item_gingerbread);
		registry.register(item_redmintcane);
		registry.register(item_greenmintcane);
	}

	@SideOnly(Side.CLIENT)
	@SubscribeEvent
	public static void registerModels(ModelRegistryEvent event)
	{
		ModelLoader.setCustomModelResourceLocation(item_gingerbread, 0, new ModelResourceLocation(Reference.MOD_ID + ":gingerbread", "inventory"));
		ModelLoader.setCustomModelResourceLocation(item_redmintcane, 0, new ModelResourceLocation(Reference.MOD_ID + ":redmintcane", "inventory"));
		ModelLoader.setCustomModelResourceLocation(item_greenmintcane, 0, new ModelResourceLocation(Reference.MOD_ID + ":greenmintcane", "inventory"));

	}

	@SubscribeEvent
	public void EditLootTables(LootTableLoadEvent e)
	{
		if (Calendar.getInstance().get(Calendar.MONTH) == Calendar.DECEMBER)
		{
			LootTable t = e.getTable();
			if (e.getName().toString().equals("minecraft:entities/skeleton") || e.getName().toString().equals("minecraft:entities/zombie"))
			{
				LootCondition[] testchance = { new RandomChance(1.01F) };
				LootCondition[] chance = { new RandomChance(0.25F) };
				t.getPool("main").addEntry(new LootEntryItem(item_redmintcane, 5, 1, new LootFunction[0], chance, "redcandy"));
				t.getPool("main").addEntry(new LootEntryItem(item_greenmintcane, 5, 1, new LootFunction[0], chance, "greencandy"));

				LootCondition[] chance2 = { new RandomChance(0.05F) };
				t.getPool("main").addEntry(new LootEntryItem(item_gingerbread, 1, 5, new LootFunction[0], chance2, "gingerbread"));
			}
		}
	}

}