The One Probe support

This commit is contained in:
modmuss50 2016-06-04 14:53:16 +01:00
parent 246113dfca
commit 207d42d81b
5 changed files with 86 additions and 0 deletions

View file

@ -49,6 +49,9 @@ repositories {
maven {
url 'http://maven.epoxide.xyz'
}
maven {
url "http://maven.tterrag.com/"
}
}
configurations {
@ -94,6 +97,7 @@ dependencies {
compile "net.darkhax.tesla:Tesla:1.9.4-1.1.0.24:deobf"
deobfCompile "slimeknights.mantle:Mantle:1.9.4-0.10.1.jenkins142"
deobfCompile "slimeknights:TConstruct:1.9.4-2.3.1.jenkins229"
deobfCompile "mcjty.theoneprobe:TheOneProbe:1.9.4-1.0.4-14"
}

View file

@ -4,6 +4,7 @@ import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.relauncher.Side;
import techreborn.client.render.parts.ClientPartLoader;
import techreborn.compat.theoneprobe.CompactTheOneProbe;
import techreborn.compat.tinkers.CompatModuleTinkers;
import techreborn.compat.waila.CompatModuleWaila;
import techreborn.config.ConfigTechReborn;
@ -46,6 +47,7 @@ public class CompatManager
registerCompact(WailaMcMultiPartCompact.class, "reborncore-mcmultipart", "Waila", "!IC2");
registerCompact(CompatModuleWaila.class, "Waila");
registerCompact(CompatModuleTinkers.class, "tconstruct");
registerCompact(CompactTheOneProbe.class, "theoneprobe");
//registerCompact(CompatModulePsi.class, "Psi");
}

View file

@ -0,0 +1,33 @@
package techreborn.compat.theoneprobe;
import mcjty.theoneprobe.TheOneProbe;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import techreborn.compat.ICompatModule;
/**
* Created by Mark on 04/06/2016.
*/
public class CompactTheOneProbe implements ICompatModule {
@Override
public void preInit(FMLPreInitializationEvent event) {
}
@Override
public void init(FMLInitializationEvent event) {
}
@Override
public void postInit(FMLPostInitializationEvent event) {
TheOneProbe.theOneProbeImp.registerProvider(new ProbeProvider());
}
@Override
public void serverStarting(FMLServerStartingEvent event) {
}
}

View file

@ -0,0 +1,47 @@
package techreborn.compat.theoneprobe;
import mcjty.theoneprobe.api.*;
import mcjty.theoneprobe.apiimpl.styles.ProgressStyle;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import reborncore.api.IListInfoProvider;
import reborncore.api.power.IEnergyInterfaceTile;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Mark on 04/06/2016.
*/
public class ProbeProvider implements IProbeInfoProvider {
ProgressStyle euStyle = new ProgressStyle();
public ProbeProvider() {
euStyle.suffix(" EU");
euStyle.numberFormat(NumberFormat.COMPACT);
}
@Override
public String getID() {
return "TechReborn";
}
@Override
public void addProbeInfo(ProbeMode mode, IProbeInfo probeInfo, EntityPlayer player, World world, IBlockState blockState, IProbeHitData data) {
TileEntity tile = world.getTileEntity(data.getPos());
if(tile instanceof IListInfoProvider){
List<String> strs = new ArrayList<>();
((IListInfoProvider) tile).addInfo(strs, true);
for(String string : strs){
probeInfo.text(string);
}
}
if(tile instanceof IEnergyInterfaceTile){
IEnergyInterfaceTile energy = (IEnergyInterfaceTile) tile;
probeInfo.progress((int)energy.getEnergy(), (int)energy.getMaxPower(), euStyle);
}
}
}