Debug logging for registration timings
This commit is contained in:
parent
2a1911ea07
commit
e2538d9291
|
@ -133,4 +133,9 @@ public class BloodMagic {
|
|||
public void onIMCRecieved(FMLInterModComms.IMCEvent event) {
|
||||
IMCHandler.handleIMC(event);
|
||||
}
|
||||
|
||||
public static void debug(String message, Object... args) {
|
||||
if (IS_DEV)
|
||||
LOGGER.info("[DEBUG] " + message, args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,9 +10,13 @@ import WayofTime.bloodmagic.entity.projectile.EntitySentientArrow;
|
|||
import WayofTime.bloodmagic.entity.projectile.EntitySoulSnare;
|
||||
import WayofTime.bloodmagic.item.types.ComponentType;
|
||||
import WayofTime.bloodmagic.potion.PotionBloodMagic;
|
||||
import com.google.common.base.Stopwatch;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.init.MobEffects;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.potion.Potion;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
|
@ -61,8 +65,30 @@ public class RegistrarBloodMagic {
|
|||
|
||||
public static IForgeRegistry<BloodOrb> BLOOD_ORBS = null;
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerItems(RegistryEvent.Register<Item> event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
RegistrarBloodMagicItems.registerItems(event.getRegistry());
|
||||
BloodMagic.debug("Item registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerBlocks(RegistryEvent.Register<Block> event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
RegistrarBloodMagicBlocks.registerBlocks(event.getRegistry());
|
||||
BloodMagic.debug("Block registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerRecipes(RegistryEvent.Register<IRecipe> event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
RegistrarBloodMagicRecipes.registerCrafting(event.getRegistry());
|
||||
BloodMagic.debug("Recipe registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerBloodOrbs(RegistryEvent.Register<BloodOrb> event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
ResourceLocation orb = RegistrarBloodMagicItems.BLOOD_ORB.getRegistryName();
|
||||
event.getRegistry().registerAll(
|
||||
new BloodOrb("weak", 1, 5000).withModel(new ModelResourceLocation(orb, "type=weak")).setRegistryName("weak"),
|
||||
|
@ -72,10 +98,12 @@ public class RegistrarBloodMagic {
|
|||
new BloodOrb("archmage", 5, 10000000).withModel(new ModelResourceLocation(orb, "type=archmage")).setRegistryName("archmage"),
|
||||
new BloodOrb("transcendent", 6, 30000000).withModel(new ModelResourceLocation(orb, "type=transcendent")).setRegistryName("transcendent")
|
||||
);
|
||||
BloodMagic.debug("Blood Orb registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerPotions(RegistryEvent.Register<Potion> event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
event.getRegistry().registerAll(
|
||||
new PotionBloodMagic("Boost", false, 0xFFFFFF, 0, 1).setRegistryName("boost"),
|
||||
new PotionBloodMagic("Planar Binding", false, 0, 2, 0).setRegistryName("planar_binding"),
|
||||
|
@ -89,10 +117,12 @@ public class RegistrarBloodMagic {
|
|||
new PotionBloodMagic("Cling", false, 0x000000, 2, 1).setRegistryName("cling"),
|
||||
new PotionBloodMagic("S. Lamb", false, 0x000000, 3, 1).setRegistryName("sacrificial_lamb")
|
||||
);
|
||||
BloodMagic.debug("Potion registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerEntities(RegistryEvent.Register<EntityEntry> event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
int entities = 0;
|
||||
EntityRegistry.registerModEntity(new ResourceLocation(BloodMagic.MODID, "blood_light"), EntityBloodLight.class, "BloodLight", ++entities, BloodMagic.instance, 16 * 4, 3, true);
|
||||
EntityRegistry.registerModEntity(new ResourceLocation(BloodMagic.MODID, "soul_snare"), EntitySoulSnare.class, "SoulSnare", ++entities, BloodMagic.instance, 16 * 4, 3, true);
|
||||
|
@ -104,21 +134,25 @@ public class RegistrarBloodMagic {
|
|||
EntityRegistry.registerModEntity(new ResourceLocation(BloodMagic.MODID, "corrupted_sheep"), EntityCorruptedSheep.class, "CorruptedSheep", ++entities, BloodMagic.instance, 16 * 4, 3, true);
|
||||
EntityRegistry.registerModEntity(new ResourceLocation(BloodMagic.MODID, "corrupted_chicken"), EntityCorruptedChicken.class, "CorruptedChicken", ++entities, BloodMagic.instance, 16 * 4, 3, true);
|
||||
EntityRegistry.registerModEntity(new ResourceLocation(BloodMagic.MODID, "corrupted_spider"), EntityCorruptedSpider.class, "CorruptedSpider", ++entities, BloodMagic.instance, 16 * 4, 3, true);
|
||||
BloodMagic.debug("Entity registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onRegistryCreation(RegistryEvent.NewRegistry event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
BLOOD_ORBS = new RegistryBuilder<BloodOrb>()
|
||||
.setName(new ResourceLocation(BloodMagic.MODID, "blood_orb"))
|
||||
.setIDRange(0, Short.MAX_VALUE)
|
||||
.setType(BloodOrb.class)
|
||||
.addCallback((IForgeRegistry.AddCallback<BloodOrb>) (owner, stage, id, obj, oldObj) -> OrbRegistry.tierMap.put(obj.getTier(), OrbRegistry.getOrbStack(obj)))
|
||||
.create();
|
||||
BloodMagic.debug("Registry creation completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public static void registerModels(ModelRegistryEvent event) {
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
for (BloodOrb orb : BLOOD_ORBS) {
|
||||
ModelResourceLocation modelLocation = orb.getModelLocation();
|
||||
if (modelLocation == null)
|
||||
|
@ -137,6 +171,10 @@ public class RegistrarBloodMagic {
|
|||
|
||||
return orb.getModelLocation();
|
||||
});
|
||||
|
||||
RegistrarBloodMagicItems.registerModels();
|
||||
RegistrarBloodMagicBlocks.registerModels();
|
||||
BloodMagic.debug("Model registration completed in {}", stopwatch.stop());
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
|
|
@ -15,17 +15,13 @@ import net.minecraft.block.state.IBlockState;
|
|||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.fluids.FluidRegistry;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID)
|
||||
@GameRegistry.ObjectHolder(BloodMagic.MODID)
|
||||
@SuppressWarnings("unused")
|
||||
public class RegistrarBloodMagicBlocks {
|
||||
|
@ -73,8 +69,7 @@ public class RegistrarBloodMagicBlocks {
|
|||
|
||||
static List<Block> blocks;
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerBlocks(RegistryEvent.Register<Block> event) {
|
||||
public static void registerBlocks(IForgeRegistry<Block> registry) {
|
||||
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
|
||||
FluidRegistry.addBucketForFluid(BlockLifeEssence.getLifeEssence());
|
||||
|
||||
|
@ -122,13 +117,12 @@ public class RegistrarBloodMagicBlocks {
|
|||
new BlockInversionPillarEnd().setRegistryName("inversion_pillar_end")
|
||||
);
|
||||
|
||||
event.getRegistry().registerAll(blocks.toArray(new Block[0]));
|
||||
registry.registerAll(blocks.toArray(new Block[0]));
|
||||
|
||||
registerTileEntities();
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerModels(ModelRegistryEvent event) {
|
||||
public static void registerModels() {
|
||||
ModelLoader.setCustomStateMapper(LIFE_ESSENCE, new StateMapperBase() {
|
||||
@Override
|
||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
||||
|
|
|
@ -16,30 +16,26 @@ import WayofTime.bloodmagic.item.routing.ItemNodeRouter;
|
|||
import WayofTime.bloodmagic.item.routing.ItemRouterFilter;
|
||||
import WayofTime.bloodmagic.item.sigil.*;
|
||||
import WayofTime.bloodmagic.item.sigil.sigil.*;
|
||||
import WayofTime.bloodmagic.item.sigil.sigil.ItemSigilDivination;
|
||||
import WayofTime.bloodmagic.item.soul.*;
|
||||
import WayofTime.bloodmagic.item.types.ComponentType;
|
||||
import WayofTime.bloodmagic.item.types.ReagentType;
|
||||
import com.google.common.collect.Lists;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||
import net.minecraftforge.client.model.ModelLoader;
|
||||
import net.minecraftforge.common.util.EnumHelper;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID)
|
||||
@GameRegistry.ObjectHolder(BloodMagic.MODID)
|
||||
@SuppressWarnings("unchecked")
|
||||
public class RegistrarBloodMagicItems {
|
||||
|
@ -122,8 +118,7 @@ public class RegistrarBloodMagicItems {
|
|||
|
||||
public static List<Item> items;
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerItems(RegistryEvent.Register<Item> event) {
|
||||
public static void registerItems(IForgeRegistry<Item> registry) {
|
||||
items = Lists.newArrayList();
|
||||
|
||||
RegistrarBloodMagicBlocks.blocks.stream().filter(block -> block instanceof IBMBlock && ((IBMBlock) block).getItem() != null).forEach(block -> {
|
||||
|
@ -207,16 +202,17 @@ public class RegistrarBloodMagicItems {
|
|||
new ItemPotionFlask().setRegistryName("potion_flask")
|
||||
));
|
||||
|
||||
event.getRegistry().registerAll(items.toArray(new Item[0]));
|
||||
registry.registerAll(items.toArray(new Item[0]));
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@SubscribeEvent
|
||||
public static void registerRenders(ModelRegistryEvent event) {
|
||||
public static void registerModels() {
|
||||
items.stream().filter(i -> i instanceof IVariantProvider).forEach(i -> {
|
||||
IVariantProvider variantProvider = (IVariantProvider) i;
|
||||
for (Pair<Integer, String> variant : variantProvider.getVariants())
|
||||
ModelLoader.setCustomModelResourceLocation(i, variant.getLeft(), new ModelResourceLocation(i.getRegistryName(), variant.getRight()));
|
||||
Int2ObjectMap<String> variants = new Int2ObjectOpenHashMap<>();
|
||||
variantProvider.populateVariants(variants);
|
||||
for (Int2ObjectMap.Entry<String> variant : variants.int2ObjectEntrySet())
|
||||
ModelLoader.setCustomModelResourceLocation(i, variant.getIntKey(), new ModelResourceLocation(i.getRegistryName(), variant.getValue()));
|
||||
});
|
||||
|
||||
items.stream().filter(i -> i instanceof IMeshProvider).forEach(i -> {
|
||||
|
@ -224,7 +220,10 @@ public class RegistrarBloodMagicItems {
|
|||
ResourceLocation loc = mesh.getCustomLocation();
|
||||
if (loc == null)
|
||||
loc = i.getRegistryName();
|
||||
for (String variant : mesh.getVariants())
|
||||
|
||||
List<String> variants = Lists.newArrayList();
|
||||
mesh.populateVariants(variants);
|
||||
for (String variant : variants)
|
||||
ModelLoader.registerItemVariants(i, new ModelResourceLocation(loc, variant));
|
||||
|
||||
ModelLoader.setCustomMeshDefinition(i, mesh.getMeshDefinition());
|
||||
|
@ -232,8 +231,10 @@ public class RegistrarBloodMagicItems {
|
|||
|
||||
RegistrarBloodMagicBlocks.blocks.stream().filter(b -> b instanceof IVariantProvider).forEach(b -> {
|
||||
IVariantProvider variantProvider = (IVariantProvider) b;
|
||||
for (Pair<Integer, String> variant : variantProvider.getVariants())
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(b), variant.getLeft(), new ModelResourceLocation(b.getRegistryName(), variant.getRight()));
|
||||
Int2ObjectMap<String> variants = new Int2ObjectOpenHashMap<>();
|
||||
variantProvider.populateVariants(variants);
|
||||
for (Int2ObjectMap.Entry<String> variant : variants.int2ObjectEntrySet())
|
||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(b), variant.getIntKey(), new ModelResourceLocation(b.getRegistryName(), variant.getValue()));
|
||||
});
|
||||
|
||||
final ResourceLocation holdingLoc = SIGIL_HOLDING.getRegistryName();
|
||||
|
|
|
@ -19,20 +19,16 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.item.crafting.Ingredient;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.event.RegistryEvent;
|
||||
import net.minecraftforge.fluids.Fluid;
|
||||
import net.minecraftforge.fluids.FluidStack;
|
||||
import net.minecraftforge.fluids.FluidUtil;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.oredict.OreIngredient;
|
||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||
import net.minecraftforge.registries.IForgeRegistry;
|
||||
|
||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID)
|
||||
public class RegistrarBloodMagicRecipes {
|
||||
|
||||
@SubscribeEvent
|
||||
public static void registerCrafting(RegistryEvent.Register<IRecipe> event) {
|
||||
public static void registerCrafting(IForgeRegistry<IRecipe> registry) {
|
||||
for (int i = 0; i < ItemSoulGem.names.length; i++) {
|
||||
for (int j = 0; j < ItemDemonCrystal.NAMES.size(); j++) {
|
||||
ItemStack baseGemStack = new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, i);
|
||||
|
@ -43,7 +39,7 @@ public class RegistrarBloodMagicRecipes {
|
|||
EnumDemonWillType willType = ((ItemDemonCrystal) RegistrarBloodMagicItems.ITEM_DEMON_CRYSTAL).getType(crystalStack);
|
||||
((ItemSoulGem) RegistrarBloodMagicItems.SOUL_GEM).setCurrentType(willType, newGemStack);
|
||||
ShapelessOreRecipe shapeless = new ShapelessOreRecipe(new ResourceLocation(BloodMagic.MODID, "soul_gem"), newGemStack, baseGemStack, crystalStack);
|
||||
event.getRegistry().register(shapeless.setRegistryName("soul_gem_" + willType.getName()));
|
||||
registry.register(shapeless.setRegistryName("soul_gem_" + willType.getName()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue