diff --git a/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java b/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java index a74c365..447b111 100644 --- a/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java +++ b/src/main/java/net/minecraft/server/management/ServerConfigurationManager.java @@ -233,6 +233,7 @@ par1EntityPlayerMP.readFromNBT(nbttagcompound); nbttagcompound1 = nbttagcompound; logger.debug("loading single player"); + net.minecraftforge.event.ForgeEventFactory.firePlayerLoadingEvent(par1EntityPlayerMP, this.playerNBTManagerObj, par1EntityPlayerMP.getUniqueID().toString()); } else { diff --git a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java index 70ca126..c07ea9a 100644 --- a/src/main/java/net/minecraftforge/event/ForgeEventFactory.java +++ b/src/main/java/net/minecraftforge/event/ForgeEventFactory.java @@ -3,6 +3,7 @@ import java.io.File; import java.util.ArrayList; import java.util.List; +import cpw.mods.fml.common.ObfuscationReflectionHelper; import cpw.mods.fml.common.eventhandler.Event.Result; import net.minecraft.block.Block; import net.minecraft.entity.Entity; @@ -12,10 +13,13 @@ import net.minecraft.entity.effect.EntityLightningBolt; import net.minecraft.entity.monster.EntityZombie; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.storage.IPlayerFileData; +import net.minecraft.world.storage.SaveHandler; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.event.entity.EntityStruckByLightningEvent; import net.minecraftforge.event.entity.living.LivingPackSizeEvent; @@ -181,4 +185,11 @@ { MinecraftForge.EVENT_BUS.post(new PlayerEvent.SaveToFile(player, playerDirectory, uuidString)); } + + public static void firePlayerLoadingEvent(EntityPlayer player, IPlayerFileData playerFileData, String uuidString) + { + SaveHandler sh = (SaveHandler) playerFileData; + File dir = ObfuscationReflectionHelper.getPrivateValue(SaveHandler.class, sh, "playersDirectory", "field_"+"75771_c"); + MinecraftForge.EVENT_BUS.post(new PlayerEvent.LoadFromFile(player, dir, uuidString)); + } } diff --git a/src/main/java/net/minecraftforge/oredict/OreDictionary.java b/src/main/java/net/minecraftforge/oredict/OreDictionary.java index a78bb7c..1f946f1 100644 --- a/src/main/java/net/minecraftforge/oredict/OreDictionary.java +++ b/src/main/java/net/minecraftforge/oredict/OreDictionary.java @@ -295,7 +295,7 @@ @Deprecated // Use getOreIds below for more accuracy public static int getOreID(ItemStack stack) { - if (stack == null) return -1; + if (stack == null || stack.getItem() == null) return -1; int id = Item.getIdFromItem(stack.getItem()); List ids = stackToId.get(id); //Try the wildcard first @@ -315,7 +315,7 @@ */ public static int[] getOreIDs(ItemStack stack) { - if (stack == null) return new int[0]; + if (stack == null || stack.getItem() == null) return new int[0]; Set set = new HashSet(); @@ -335,8 +335,8 @@ /** * Retrieves the ArrayList of items that are registered to this ore type. * Creates the list as empty if it did not exist. - * - * The returned List is unmodifiable, but will be updated if a new ore + * + * The returned List is unmodifiable, but will be updated if a new ore * is registered using registerOre * * @param name The ore name, directly calls getOreID @@ -360,8 +360,8 @@ /** * Retrieves the ArrayList of items that are registered to this ore type. * Creates the list as empty if it did not exist. - * - * Warning: In 1.8, the return value will become a immutible list, + * + * Warning: In 1.8, the return value will become a immutible list, * and this function WILL NOT create the entry if the ID doesn't exist, * IDs are intended to be internal OreDictionary things and modders * should not ever code them in. @@ -537,7 +537,7 @@ public T[] toArray(T[] a) { return list.toArray(a); } public String toString() { return list.toString(); } public boolean containsAll(Collection coll) { return list.containsAll(coll); } - + public E set(int index, E element) { throw new UnsupportedOperationException(); } public void add(int index, E element) { throw new UnsupportedOperationException(); } public E remove(int index) { throw new UnsupportedOperationException(); } diff --git a/src/main/resources/fmlversion.properties b/src/main/resources/fmlversion.properties index b184dcf..4d49b22 100644 --- a/src/main/resources/fmlversion.properties +++ b/src/main/resources/fmlversion.properties @@ -1,6 +1,6 @@ fmlbuild.major.number=7 fmlbuild.minor.number=2 fmlbuild.revision.number=213 -fmlbuild.build.number=33 +fmlbuild.build.number=34 fmlbuild.mcversion=1.7.2 fmlbuild.mcpversion=9.03