mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-09-28 20:01:05 +02:00
79 lines
2.5 KiB
Java
79 lines
2.5 KiB
Java
|
package de.ellpeck.actuallyadditions.mod;
|
||
|
|
||
|
import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks;
|
||
|
import de.ellpeck.actuallyadditions.mod.crafting.InitCrafting;
|
||
|
import de.ellpeck.actuallyadditions.mod.gen.village.InitVillager;
|
||
|
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
||
|
import de.ellpeck.actuallyadditions.mod.misc.SoundHandler;
|
||
|
import de.ellpeck.actuallyadditions.mod.ore.InitOreDict;
|
||
|
import net.minecraft.block.Block;
|
||
|
import net.minecraft.item.Item;
|
||
|
import net.minecraft.item.crafting.IRecipe;
|
||
|
import net.minecraft.util.SoundEvent;
|
||
|
import net.minecraftforge.event.RegistryEvent.Register;
|
||
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||
|
import net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession;
|
||
|
|
||
|
import java.util.ArrayList;
|
||
|
import java.util.List;
|
||
|
|
||
|
//Class to wrap around the trainwreck that is the new registry system
|
||
|
public class RegistryHandler{
|
||
|
|
||
|
public static final List<Block> BLOCKS_TO_REGISTER = new ArrayList<>();
|
||
|
public static final List<Item> ITEMS_TO_REGISTER = new ArrayList<>();
|
||
|
public static final List<SoundEvent> SOUNDS_TO_REGISTER = new ArrayList<>();
|
||
|
public static final List<IRecipe> RECIPES_TO_REGISTER = new ArrayList<>();
|
||
|
|
||
|
@SubscribeEvent
|
||
|
public void onBlockRegistry(Register<Block> event){
|
||
|
InitBlocks.init();
|
||
|
|
||
|
for(Block block : BLOCKS_TO_REGISTER){
|
||
|
event.getRegistry().register(block);
|
||
|
}
|
||
|
BLOCKS_TO_REGISTER.clear();
|
||
|
}
|
||
|
|
||
|
@SubscribeEvent
|
||
|
public void onItemRegistry(Register<Item> event){
|
||
|
InitItems.init();
|
||
|
|
||
|
for(Item item : ITEMS_TO_REGISTER){
|
||
|
event.getRegistry().register(item);
|
||
|
}
|
||
|
ITEMS_TO_REGISTER.clear();
|
||
|
|
||
|
//Hack to make this register before recipes :>
|
||
|
InitOreDict.init();
|
||
|
}
|
||
|
|
||
|
@SubscribeEvent
|
||
|
public void onVillagerRegistry(Register<VillagerProfession> event){
|
||
|
InitVillager.init();
|
||
|
|
||
|
event.getRegistry().register(InitVillager.jamProfession);
|
||
|
event.getRegistry().register(InitVillager.engineerProfession);
|
||
|
}
|
||
|
|
||
|
@SubscribeEvent
|
||
|
public void onCraftingRegistry(Register<IRecipe> event){
|
||
|
InitCrafting.init();
|
||
|
|
||
|
for(IRecipe recipe : RECIPES_TO_REGISTER){
|
||
|
event.getRegistry().register(recipe);
|
||
|
}
|
||
|
RECIPES_TO_REGISTER.clear();
|
||
|
}
|
||
|
|
||
|
@SubscribeEvent
|
||
|
public void onSoundRegistry(Register<SoundEvent> event){
|
||
|
SoundHandler.init();
|
||
|
|
||
|
for(SoundEvent sound : SOUNDS_TO_REGISTER){
|
||
|
event.getRegistry().register(sound);
|
||
|
}
|
||
|
SOUNDS_TO_REGISTER.clear();
|
||
|
}
|
||
|
}
|