mirror of
https://github.com/GTNewHorizons/MagicBees.git
synced 2026-11-12 00:08:01 +00:00
Merge pull request #37 from Quantumlyy/drainer-energistics
Add Thaumic Energistics support to the Apimancers drainer
This commit is contained in:
4 files changed
+33
-2
No files matched your search
+2
-1
@@ -8,6 +8,7 @@ dependencies {
|
||||
compileOnly('com.github.GTNewHorizons:Baubles:1.0.4:dev') {transitive = false}
|
||||
compileOnly('com.github.GTNewHorizons:Botania:1.10.5-GTNH:api') {transitive = false}
|
||||
compileOnly('thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev') {transitive = false}
|
||||
compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.53:dev')
|
||||
compileOnly('com.github.GTNewHorizons:GT5-Unofficial:5.09.45.43:dev')
|
||||
compileOnly('com.github.GTNewHorizons:ThaumicEnergistics:1.6.1-GTNH:dev')
|
||||
}
|
||||
|
||||
@@ -63,6 +63,7 @@ import magicbees.tileentity.TileEntityEffectJar;
|
||||
import magicbees.tileentity.TileEntityMagicApiary;
|
||||
import magicbees.tileentity.TileEntityManaAuraProvider;
|
||||
import magicbees.tileentity.TileEntityVisAuraProvider;
|
||||
import thaumicenergistics.api.ThEApi;
|
||||
|
||||
/**
|
||||
* A class to hold some data related to mod state & functions.
|
||||
@@ -166,6 +167,7 @@ public class Config {
|
||||
// ---- Loaded mods -----------------------------------------
|
||||
public static boolean isGTLoaded = Loader.isModLoaded("gregtech");
|
||||
public static boolean isGTNHCoreModLoaded = Loader.isModLoaded("gregtech") && Loader.isModLoaded("dreamcraft");
|
||||
public static boolean isThaumicEnergisticsLoaded = Loader.isModLoaded("thaumicenergistics");
|
||||
|
||||
public Config(File configFile) {
|
||||
configuration = new Configuration(configFile);
|
||||
@@ -226,6 +228,15 @@ public class Config {
|
||||
setupMiscForestryItemHooks();
|
||||
}
|
||||
|
||||
public void setupThaumicEnergistics() {
|
||||
if (isThaumicEnergisticsLoaded) {
|
||||
try {
|
||||
Class c = BlockApimancersDrainer.drainer;
|
||||
ThEApi.instance().transportPermissions().addAspectStorageTileToExtractPermissions(c);
|
||||
} catch (Exception ignored) {}
|
||||
}
|
||||
}
|
||||
|
||||
private void processConfigFile() {
|
||||
// Pull config from Forestry via reflection
|
||||
Field f;
|
||||
|
||||
@@ -73,6 +73,7 @@ public class MagicBees {
|
||||
proxy.registerRenderers();
|
||||
|
||||
this.modConfig.saveConfigs();
|
||||
this.modConfig.setupThaumicEnergistics();
|
||||
|
||||
CraftingManager.setupCrafting();
|
||||
CraftingManager.registerLiquidContainers();
|
||||
|
||||
@@ -7,6 +7,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.tileentity.TileEntity;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
import cpw.mods.fml.common.Optional;
|
||||
import forestry.api.apiculture.EnumBeeType;
|
||||
import forestry.api.apiculture.IAlleleBeeSpecies;
|
||||
import forestry.api.apiculture.IBee;
|
||||
@@ -22,8 +23,12 @@ import thaumcraft.api.aspects.Aspect;
|
||||
import thaumcraft.api.aspects.AspectList;
|
||||
import thaumcraft.api.aspects.IAspectContainer;
|
||||
import thaumcraft.api.aspects.IEssentiaTransport;
|
||||
import thaumicenergistics.api.storage.IAspectStorage;
|
||||
|
||||
public class TileEntityApimancersDrainerCommon extends TileEntity implements IAspectContainer, IEssentiaTransport {
|
||||
@Optional.InterfaceList({
|
||||
@Optional.Interface(iface = "thaumicenergistics.api.storage.IAspectStorage", modid = "thaumicenergistics") })
|
||||
public class TileEntityApimancersDrainerCommon extends TileEntity
|
||||
implements IEssentiaTransport, IAspectContainer, IAspectStorage {
|
||||
|
||||
public Aspect aspect;
|
||||
public AspectList essentia = new AspectList();
|
||||
@@ -38,6 +43,7 @@ public class TileEntityApimancersDrainerCommon extends TileEntity implements IAs
|
||||
|
||||
@Override
|
||||
public void updateEntity() {
|
||||
super.updateEntity();
|
||||
// If there's no stored aspect we shouldn't even check for the above block.
|
||||
// We also don't need to run all the logic if the cabinet is full.
|
||||
if (aspect == null || essentia.visSize() == maxAmount) return;
|
||||
@@ -100,6 +106,18 @@ public class TileEntityApimancersDrainerCommon extends TileEntity implements IAs
|
||||
housing.getBeeInventory().getQueen().setTagCompound(nbttagcompound);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Optional.Method(modid = "thaumicenergistics")
|
||||
public int getContainerCapacity() {
|
||||
return maxAmount;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Optional.Method(modid = "thaumicenergistics")
|
||||
public boolean doesShareCapacity() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public AspectList getAspects() {
|
||||
return this.essentia;
|
||||
|
||||
Reference in new issue
Block a user