package micdoodle8.mods.galacticraft.api.inventory; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayerMP; import java.lang.reflect.Method; /** * A static method for other mods to access the Galacticraft * extended inventory. * * Call: AccessInventoryGC.getGCInventoryForPlayer(player) */ public class AccessInventoryGC { private static Class<?> playerStatsClass; private static Method getStats; private static Method getExtendedInventory; public static IInventoryGC getGCInventoryForPlayer(EntityPlayerMP player) { try { if (playerStatsClass == null || getStats == null || getExtendedInventory == null) { playerStatsClass = Class.forName("micdoodle8.mods.galacticraft.core.entities.player.GCPlayerStats"); getStats = playerStatsClass.getMethod("get", Entity.class); getExtendedInventory = playerStatsClass.getMethod("getExtendedInventory"); } Object stats = getStats.invoke(null, player); if (stats == null) { return null; } return (IInventoryGC)getExtendedInventory.invoke(stats); } catch (Exception e) { e.printStackTrace(); } return null; } }