diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-10-09 12:21:22 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-10-09 12:21:22 +1000 |
commit | 5752ae213733278e7e0cd0691c8294a9721eaf75 (patch) | |
tree | 51c3faa2e140f174bbc1c2292cfe695915d00e62 /src | |
parent | 41c0d8e1082296a4c890c3614d1e4bd4963cfca5 (diff) | |
download | GT5-Unofficial-5752ae213733278e7e0cd0691c8294a9721eaf75.tar.gz GT5-Unofficial-5752ae213733278e7e0cd0691c8294a9721eaf75.tar.bz2 GT5-Unofficial-5752ae213733278e7e0cd0691c8294a9721eaf75.zip |
$ Fixed Baubles support. - Should fix #23
Diffstat (limited to 'src')
4 files changed, 47 insertions, 13 deletions
diff --git a/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java new file mode 100644 index 0000000000..634fbe47d2 --- /dev/null +++ b/src/Java/gtPlusPlus/core/common/compat/COMPAT_Baubles.java @@ -0,0 +1,31 @@ +package gtPlusPlus.core.common.compat; + +import gtPlusPlus.core.item.ModItems; +import gtPlusPlus.core.item.general.ItemCloakingDevice; +import gtPlusPlus.core.item.general.ItemHealingDevice; +import gtPlusPlus.core.lib.LoadedMods; +import gtPlusPlus.core.util.Utils; + +public class COMPAT_Baubles { + + public static void run(){ + if (LoadedMods.Baubles){ + baublesLoaded(); + } + else { + baublesNotLoaded(); + } + } + + public static void baublesLoaded(){ + Utils.LOG_INFO("Baubles Found - Loading Wearables."); + ModItems.itemPersonalCloakingDevice = new ItemCloakingDevice(0); + //itemPersonalCloakingDeviceCharged = new ItemCloakingDevice(0).set; + ModItems.itemPersonalHealingDevice = new ItemHealingDevice(); + } + + public static void baublesNotLoaded(){ + Utils.LOG_INFO("Baubles Not Found - Skipping Resources."); + } + +} diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index 27488794bc..9ca49c8a51 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -5,6 +5,7 @@ import static gtPlusPlus.core.lib.CORE.LOAD_ALL_CONTENT; import static gtPlusPlus.core.util.item.UtilsItems.generateItemsFromMaterial; import gregtech.api.enums.Materials; import gregtech.api.util.GT_OreDictUnificator; +import gtPlusPlus.core.common.compat.COMPAT_Baubles; import gtPlusPlus.core.creative.AddToCreativeTab; import gtPlusPlus.core.item.base.BaseItemBackpack; import gtPlusPlus.core.item.base.CoreItem; @@ -14,8 +15,6 @@ import gtPlusPlus.core.item.base.ingots.BaseItemIngot; import gtPlusPlus.core.item.base.plates.BaseItemPlate; import gtPlusPlus.core.item.effects.RarityUncommon; import gtPlusPlus.core.item.general.BufferCore; -import gtPlusPlus.core.item.general.ItemCloakingDevice; -import gtPlusPlus.core.item.general.ItemHealingDevice; import gtPlusPlus.core.item.general.RF2EU_Battery; import gtPlusPlus.core.item.general.fuelrods.FuelRod_Base; import gtPlusPlus.core.item.init.ItemsFoods; @@ -322,10 +321,9 @@ public final class ModItems { //Item Init try { - UtilsItems.getItemForOreDict("Thaumcraft:ItemResource", "ingotVoidMetal", "Void Metal Ingot", 16); - GT_OreDictUnificator.registerOre("plateVoidMetal", new ItemStack(ModItems.itemPlateVoidMetal)); - + UtilsItems.getItemForOreDict("Thaumcraft:ItemResource", "ingotVoidMetal", "Void Metal Ingot", 16); itemPlateVoidMetal = new BaseItemPlate("itemPlate"+"Void", "Void Metal", Utils.rgbtoHexValue(82, 17, 82), 2, 0); + GT_OreDictUnificator.registerOre("plateVoidMetal", new ItemStack(ModItems.itemPlateVoidMetal)); } catch (NullPointerException e){ e.getClass(); } @@ -388,14 +386,15 @@ public final class ModItems { FuelRod_Plutonium = new FuelRod_Base("itemFuelRod_Plutonium", "Plutonium", 5000, 5000); RfEuBattery = new RF2EU_Battery(); - if (LoadedMods.Baubles){ - Utils.LOG_INFO("Baubles Found - Loading Wearables."); - itemPersonalCloakingDevice = new ItemCloakingDevice(0); - //itemPersonalCloakingDeviceCharged = new ItemCloakingDevice(0).set; - itemPersonalHealingDevice = new ItemHealingDevice(); - } - else { - Utils.LOG_INFO("Baubles Not Found - Skipping Resources."); + try {Class baublesTest = Class.forName("baubles.api.IBauble"); + if (baublesTest != null){ + COMPAT_Baubles.run(); + } + else { + Utils.LOG_INFO("Baubles Not Found - Skipping Resources."); + } + } catch(Throwable T){ + Utils.LOG_INFO("Baubles Not Found - Skipping Resources."); } //Registry //GameRegistry.registerItem(FuelRod_Empty, "itemFuelRod_Empty"); diff --git a/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java b/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java index 22b6ed27f1..04503c5a62 100644 --- a/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java +++ b/src/Java/gtPlusPlus/core/item/general/ItemCloakingDevice.java @@ -21,8 +21,10 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import baubles.api.BaubleType; import baubles.api.IBauble; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.registry.GameRegistry; +@Optional.InterfaceList(value = {@Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"), @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles")}) public class ItemCloakingDevice extends Item implements IElectricItem, IElectricItemManager, IBauble{ private final String unlocalizedName = "personalCloakingDevice"; diff --git a/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java b/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java index 728d498e2b..5e05221ed7 100644 --- a/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java +++ b/src/Java/gtPlusPlus/core/item/general/ItemHealingDevice.java @@ -20,8 +20,10 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import baubles.api.BaubleType; import baubles.api.IBauble; +import cpw.mods.fml.common.Optional; import cpw.mods.fml.common.registry.GameRegistry; +@Optional.InterfaceList(value = {@Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"), @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles")}) public class ItemHealingDevice extends Item implements IElectricItem, IElectricItemManager, IBauble{ private final String unlocalizedName = "personalHealingDevice"; |