Debug logging for registration timings
This commit is contained in:
parent
2a1911ea07
commit
e2538d9291
5 changed files with 68 additions and 34 deletions
|
@ -133,4 +133,9 @@ public class BloodMagic {
|
||||||
public void onIMCRecieved(FMLInterModComms.IMCEvent event) {
|
public void onIMCRecieved(FMLInterModComms.IMCEvent event) {
|
||||||
IMCHandler.handleIMC(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.entity.projectile.EntitySoulSnare;
|
||||||
import WayofTime.bloodmagic.item.types.ComponentType;
|
import WayofTime.bloodmagic.item.types.ComponentType;
|
||||||
import WayofTime.bloodmagic.potion.PotionBloodMagic;
|
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.client.renderer.block.model.ModelResourceLocation;
|
||||||
import net.minecraft.init.MobEffects;
|
import net.minecraft.init.MobEffects;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
import net.minecraft.potion.Potion;
|
import net.minecraft.potion.Potion;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||||
|
@ -61,8 +65,30 @@ public class RegistrarBloodMagic {
|
||||||
|
|
||||||
public static IForgeRegistry<BloodOrb> BLOOD_ORBS = null;
|
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
|
@SubscribeEvent
|
||||||
public static void registerBloodOrbs(RegistryEvent.Register<BloodOrb> event) {
|
public static void registerBloodOrbs(RegistryEvent.Register<BloodOrb> event) {
|
||||||
|
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||||
ResourceLocation orb = RegistrarBloodMagicItems.BLOOD_ORB.getRegistryName();
|
ResourceLocation orb = RegistrarBloodMagicItems.BLOOD_ORB.getRegistryName();
|
||||||
event.getRegistry().registerAll(
|
event.getRegistry().registerAll(
|
||||||
new BloodOrb("weak", 1, 5000).withModel(new ModelResourceLocation(orb, "type=weak")).setRegistryName("weak"),
|
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("archmage", 5, 10000000).withModel(new ModelResourceLocation(orb, "type=archmage")).setRegistryName("archmage"),
|
||||||
new BloodOrb("transcendent", 6, 30000000).withModel(new ModelResourceLocation(orb, "type=transcendent")).setRegistryName("transcendent")
|
new BloodOrb("transcendent", 6, 30000000).withModel(new ModelResourceLocation(orb, "type=transcendent")).setRegistryName("transcendent")
|
||||||
);
|
);
|
||||||
|
BloodMagic.debug("Blood Orb registration completed in {}", stopwatch.stop());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void registerPotions(RegistryEvent.Register<Potion> event) {
|
public static void registerPotions(RegistryEvent.Register<Potion> event) {
|
||||||
|
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||||
event.getRegistry().registerAll(
|
event.getRegistry().registerAll(
|
||||||
new PotionBloodMagic("Boost", false, 0xFFFFFF, 0, 1).setRegistryName("boost"),
|
new PotionBloodMagic("Boost", false, 0xFFFFFF, 0, 1).setRegistryName("boost"),
|
||||||
new PotionBloodMagic("Planar Binding", false, 0, 2, 0).setRegistryName("planar_binding"),
|
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("Cling", false, 0x000000, 2, 1).setRegistryName("cling"),
|
||||||
new PotionBloodMagic("S. Lamb", false, 0x000000, 3, 1).setRegistryName("sacrificial_lamb")
|
new PotionBloodMagic("S. Lamb", false, 0x000000, 3, 1).setRegistryName("sacrificial_lamb")
|
||||||
);
|
);
|
||||||
|
BloodMagic.debug("Potion registration completed in {}", stopwatch.stop());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void registerEntities(RegistryEvent.Register<EntityEntry> event) {
|
public static void registerEntities(RegistryEvent.Register<EntityEntry> event) {
|
||||||
|
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||||
int entities = 0;
|
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, "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);
|
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_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_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);
|
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
|
@SubscribeEvent
|
||||||
public static void onRegistryCreation(RegistryEvent.NewRegistry event) {
|
public static void onRegistryCreation(RegistryEvent.NewRegistry event) {
|
||||||
|
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||||
BLOOD_ORBS = new RegistryBuilder<BloodOrb>()
|
BLOOD_ORBS = new RegistryBuilder<BloodOrb>()
|
||||||
.setName(new ResourceLocation(BloodMagic.MODID, "blood_orb"))
|
.setName(new ResourceLocation(BloodMagic.MODID, "blood_orb"))
|
||||||
.setIDRange(0, Short.MAX_VALUE)
|
.setIDRange(0, Short.MAX_VALUE)
|
||||||
.setType(BloodOrb.class)
|
.setType(BloodOrb.class)
|
||||||
.addCallback((IForgeRegistry.AddCallback<BloodOrb>) (owner, stage, id, obj, oldObj) -> OrbRegistry.tierMap.put(obj.getTier(), OrbRegistry.getOrbStack(obj)))
|
.addCallback((IForgeRegistry.AddCallback<BloodOrb>) (owner, stage, id, obj, oldObj) -> OrbRegistry.tierMap.put(obj.getTier(), OrbRegistry.getOrbStack(obj)))
|
||||||
.create();
|
.create();
|
||||||
|
BloodMagic.debug("Registry creation completed in {}", stopwatch.stop());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
@SubscribeEvent
|
@SubscribeEvent
|
||||||
public static void registerModels(ModelRegistryEvent event) {
|
public static void registerModels(ModelRegistryEvent event) {
|
||||||
|
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||||
for (BloodOrb orb : BLOOD_ORBS) {
|
for (BloodOrb orb : BLOOD_ORBS) {
|
||||||
ModelResourceLocation modelLocation = orb.getModelLocation();
|
ModelResourceLocation modelLocation = orb.getModelLocation();
|
||||||
if (modelLocation == null)
|
if (modelLocation == null)
|
||||||
|
@ -137,6 +171,10 @@ public class RegistrarBloodMagic {
|
||||||
|
|
||||||
return orb.getModelLocation();
|
return orb.getModelLocation();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
RegistrarBloodMagicItems.registerModels();
|
||||||
|
RegistrarBloodMagicBlocks.registerModels();
|
||||||
|
BloodMagic.debug("Model registration completed in {}", stopwatch.stop());
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
@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.model.ModelResourceLocation;
|
||||||
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
import net.minecraft.client.renderer.block.statemap.StateMapperBase;
|
||||||
import net.minecraft.init.Blocks;
|
import net.minecraft.init.Blocks;
|
||||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
|
||||||
import net.minecraftforge.client.model.ModelLoader;
|
import net.minecraftforge.client.model.ModelLoader;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
|
||||||
import net.minecraftforge.fluids.FluidRegistry;
|
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.fml.common.registry.GameRegistry;
|
||||||
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID)
|
|
||||||
@GameRegistry.ObjectHolder(BloodMagic.MODID)
|
@GameRegistry.ObjectHolder(BloodMagic.MODID)
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class RegistrarBloodMagicBlocks {
|
public class RegistrarBloodMagicBlocks {
|
||||||
|
@ -73,8 +69,7 @@ public class RegistrarBloodMagicBlocks {
|
||||||
|
|
||||||
static List<Block> blocks;
|
static List<Block> blocks;
|
||||||
|
|
||||||
@SubscribeEvent
|
public static void registerBlocks(IForgeRegistry<Block> registry) {
|
||||||
public static void registerBlocks(RegistryEvent.Register<Block> event) {
|
|
||||||
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
|
FluidRegistry.registerFluid(BlockLifeEssence.getLifeEssence());
|
||||||
FluidRegistry.addBucketForFluid(BlockLifeEssence.getLifeEssence());
|
FluidRegistry.addBucketForFluid(BlockLifeEssence.getLifeEssence());
|
||||||
|
|
||||||
|
@ -122,13 +117,12 @@ public class RegistrarBloodMagicBlocks {
|
||||||
new BlockInversionPillarEnd().setRegistryName("inversion_pillar_end")
|
new BlockInversionPillarEnd().setRegistryName("inversion_pillar_end")
|
||||||
);
|
);
|
||||||
|
|
||||||
event.getRegistry().registerAll(blocks.toArray(new Block[0]));
|
registry.registerAll(blocks.toArray(new Block[0]));
|
||||||
|
|
||||||
registerTileEntities();
|
registerTileEntities();
|
||||||
}
|
}
|
||||||
|
|
||||||
@SubscribeEvent
|
public static void registerModels() {
|
||||||
public static void registerModels(ModelRegistryEvent event) {
|
|
||||||
ModelLoader.setCustomStateMapper(LIFE_ESSENCE, new StateMapperBase() {
|
ModelLoader.setCustomStateMapper(LIFE_ESSENCE, new StateMapperBase() {
|
||||||
@Override
|
@Override
|
||||||
protected ModelResourceLocation getModelResourceLocation(IBlockState state) {
|
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.routing.ItemRouterFilter;
|
||||||
import WayofTime.bloodmagic.item.sigil.*;
|
import WayofTime.bloodmagic.item.sigil.*;
|
||||||
import WayofTime.bloodmagic.item.sigil.sigil.*;
|
import WayofTime.bloodmagic.item.sigil.sigil.*;
|
||||||
import WayofTime.bloodmagic.item.sigil.sigil.ItemSigilDivination;
|
|
||||||
import WayofTime.bloodmagic.item.soul.*;
|
import WayofTime.bloodmagic.item.soul.*;
|
||||||
import WayofTime.bloodmagic.item.types.ComponentType;
|
import WayofTime.bloodmagic.item.types.ComponentType;
|
||||||
import WayofTime.bloodmagic.item.types.ReagentType;
|
import WayofTime.bloodmagic.item.types.ReagentType;
|
||||||
import com.google.common.collect.Lists;
|
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.client.renderer.block.model.ModelResourceLocation;
|
||||||
import net.minecraft.init.Items;
|
import net.minecraft.init.Items;
|
||||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.client.event.ModelRegistryEvent;
|
|
||||||
import net.minecraftforge.client.model.ModelLoader;
|
import net.minecraftforge.client.model.ModelLoader;
|
||||||
import net.minecraftforge.common.util.EnumHelper;
|
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.common.registry.GameRegistry;
|
||||||
import net.minecraftforge.fml.relauncher.Side;
|
import net.minecraftforge.fml.relauncher.Side;
|
||||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID)
|
|
||||||
@GameRegistry.ObjectHolder(BloodMagic.MODID)
|
@GameRegistry.ObjectHolder(BloodMagic.MODID)
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public class RegistrarBloodMagicItems {
|
public class RegistrarBloodMagicItems {
|
||||||
|
@ -122,8 +118,7 @@ public class RegistrarBloodMagicItems {
|
||||||
|
|
||||||
public static List<Item> items;
|
public static List<Item> items;
|
||||||
|
|
||||||
@SubscribeEvent
|
public static void registerItems(IForgeRegistry<Item> registry) {
|
||||||
public static void registerItems(RegistryEvent.Register<Item> event) {
|
|
||||||
items = Lists.newArrayList();
|
items = Lists.newArrayList();
|
||||||
|
|
||||||
RegistrarBloodMagicBlocks.blocks.stream().filter(block -> block instanceof IBMBlock && ((IBMBlock) block).getItem() != null).forEach(block -> {
|
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")
|
new ItemPotionFlask().setRegistryName("potion_flask")
|
||||||
));
|
));
|
||||||
|
|
||||||
event.getRegistry().registerAll(items.toArray(new Item[0]));
|
registry.registerAll(items.toArray(new Item[0]));
|
||||||
}
|
}
|
||||||
|
|
||||||
@SideOnly(Side.CLIENT)
|
@SideOnly(Side.CLIENT)
|
||||||
@SubscribeEvent
|
public static void registerModels() {
|
||||||
public static void registerRenders(ModelRegistryEvent event) {
|
|
||||||
items.stream().filter(i -> i instanceof IVariantProvider).forEach(i -> {
|
items.stream().filter(i -> i instanceof IVariantProvider).forEach(i -> {
|
||||||
IVariantProvider variantProvider = (IVariantProvider) i;
|
IVariantProvider variantProvider = (IVariantProvider) i;
|
||||||
for (Pair<Integer, String> variant : variantProvider.getVariants())
|
Int2ObjectMap<String> variants = new Int2ObjectOpenHashMap<>();
|
||||||
ModelLoader.setCustomModelResourceLocation(i, variant.getLeft(), new ModelResourceLocation(i.getRegistryName(), variant.getRight()));
|
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 -> {
|
items.stream().filter(i -> i instanceof IMeshProvider).forEach(i -> {
|
||||||
|
@ -224,7 +220,10 @@ public class RegistrarBloodMagicItems {
|
||||||
ResourceLocation loc = mesh.getCustomLocation();
|
ResourceLocation loc = mesh.getCustomLocation();
|
||||||
if (loc == null)
|
if (loc == null)
|
||||||
loc = i.getRegistryName();
|
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.registerItemVariants(i, new ModelResourceLocation(loc, variant));
|
||||||
|
|
||||||
ModelLoader.setCustomMeshDefinition(i, mesh.getMeshDefinition());
|
ModelLoader.setCustomMeshDefinition(i, mesh.getMeshDefinition());
|
||||||
|
@ -232,8 +231,10 @@ public class RegistrarBloodMagicItems {
|
||||||
|
|
||||||
RegistrarBloodMagicBlocks.blocks.stream().filter(b -> b instanceof IVariantProvider).forEach(b -> {
|
RegistrarBloodMagicBlocks.blocks.stream().filter(b -> b instanceof IVariantProvider).forEach(b -> {
|
||||||
IVariantProvider variantProvider = (IVariantProvider) b;
|
IVariantProvider variantProvider = (IVariantProvider) b;
|
||||||
for (Pair<Integer, String> variant : variantProvider.getVariants())
|
Int2ObjectMap<String> variants = new Int2ObjectOpenHashMap<>();
|
||||||
ModelLoader.setCustomModelResourceLocation(Item.getItemFromBlock(b), variant.getLeft(), new ModelResourceLocation(b.getRegistryName(), variant.getRight()));
|
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();
|
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.IRecipe;
|
||||||
import net.minecraft.item.crafting.Ingredient;
|
import net.minecraft.item.crafting.Ingredient;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.event.RegistryEvent;
|
|
||||||
import net.minecraftforge.fluids.Fluid;
|
import net.minecraftforge.fluids.Fluid;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.fluids.FluidUtil;
|
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.OreIngredient;
|
||||||
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
import net.minecraftforge.oredict.ShapelessOreRecipe;
|
||||||
|
import net.minecraftforge.registries.IForgeRegistry;
|
||||||
|
|
||||||
@Mod.EventBusSubscriber(modid = BloodMagic.MODID)
|
|
||||||
public class RegistrarBloodMagicRecipes {
|
public class RegistrarBloodMagicRecipes {
|
||||||
|
|
||||||
@SubscribeEvent
|
public static void registerCrafting(IForgeRegistry<IRecipe> registry) {
|
||||||
public static void registerCrafting(RegistryEvent.Register<IRecipe> event) {
|
|
||||||
for (int i = 0; i < ItemSoulGem.names.length; i++) {
|
for (int i = 0; i < ItemSoulGem.names.length; i++) {
|
||||||
for (int j = 0; j < ItemDemonCrystal.NAMES.size(); j++) {
|
for (int j = 0; j < ItemDemonCrystal.NAMES.size(); j++) {
|
||||||
ItemStack baseGemStack = new ItemStack(RegistrarBloodMagicItems.SOUL_GEM, 1, i);
|
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);
|
EnumDemonWillType willType = ((ItemDemonCrystal) RegistrarBloodMagicItems.ITEM_DEMON_CRYSTAL).getType(crystalStack);
|
||||||
((ItemSoulGem) RegistrarBloodMagicItems.SOUL_GEM).setCurrentType(willType, newGemStack);
|
((ItemSoulGem) RegistrarBloodMagicItems.SOUL_GEM).setCurrentType(willType, newGemStack);
|
||||||
ShapelessOreRecipe shapeless = new ShapelessOreRecipe(new ResourceLocation(BloodMagic.MODID, "soul_gem"), newGemStack, baseGemStack, crystalStack);
|
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…
Add table
Add a link
Reference in a new issue