feat: add waila support

closes #17
This commit is contained in:
LordMZTE 2023-02-23 15:12:21 +01:00
parent cba867fa46
commit 8da5f6452b
Signed by: LordMZTE
GPG Key ID: B64802DC33A64FF6
3 changed files with 86 additions and 4 deletions

View File

@ -45,6 +45,7 @@ dependencies {
implementation "codechicken:NotEnoughItems:1.7.10-1.0.5.120:dev"
implementation "codechicken:CodeChickenCore:1.7.10-1.0.7.48:dev"
implementation 'dan200:ComputerCraft:1.75:deobf'
implementation "mcp.mobius.waila:Waila:1.5.10_1.7.10:dev"
}
processResources {
@ -92,4 +93,4 @@ publishing {
mavenLocal()
}
}
}
}

View File

@ -5,7 +5,7 @@ import com.eloraam.redpower.compat.ComputercraftInterop;
import com.eloraam.redpower.compat.ItemMachineCompat;
import com.eloraam.redpower.compat.RenderBlueEngine;
import com.eloraam.redpower.compat.TileBlueEngine;
import com.eloraam.redpower.core.CoreLib;
import com.eloraam.redpower.compat.Waila;
import com.eloraam.redpower.core.CraftLib;
import com.eloraam.redpower.core.ItemParts;
import com.eloraam.redpower.core.RenderLib;
@ -16,6 +16,7 @@ import cpw.mods.fml.common.ModContainer;
import cpw.mods.fml.common.Mod.EventHandler;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLInterModComms;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.IGuiHandler;
@ -32,7 +33,6 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
@ -78,7 +78,14 @@ public class RedPowerCompat implements IGuiHandler {
@EventHandler
public void postInit(FMLPostInitializationEvent event) {
}
NetworkRegistry.INSTANCE.registerGuiHandler(instance, instance);
if (waila) {
FMLInterModComms.sendMessage(
"Waila", "register", Waila.class.getName() + ".register"
);
}
}
@SideOnly(Side.CLIENT)
public void registerRenderers() {

View File

@ -0,0 +1,74 @@
package com.eloraam.redpower.compat;
import java.util.List;
import com.eloraam.redpower.core.TileCoverable;
import cpw.mods.fml.common.FMLCommonHandler;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
import mcp.mobius.waila.api.IWailaDataProvider;
import mcp.mobius.waila.api.IWailaRegistrar;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class Waila implements IWailaDataProvider {
public static void register(final IWailaRegistrar registrar) {
FMLCommonHandler.instance().getFMLLogger().info(
"[RedPower Compat] registering waila plugin"
);
registrar.registerStackProvider(new Waila(), TileCoverable.class);
}
@Override
public ItemStack
getWailaStack(IWailaDataAccessor accessor, IWailaConfigHandler config) {
TileCoverable te = (TileCoverable) accessor.getTileEntity();
return te.getPickBlock(accessor.getPosition(), accessor.getPlayer());
}
@Override
public List<String> getWailaHead(
ItemStack itemStack,
List<String> currenttip,
IWailaDataAccessor accessor,
IWailaConfigHandler config
) {
return null;
}
@Override
public List<String> getWailaBody(
ItemStack itemStack,
List<String> currenttip,
IWailaDataAccessor accessor,
IWailaConfigHandler config
) {
return null;
}
@Override
public List<String> getWailaTail(
ItemStack itemStack,
List<String> currenttip,
IWailaDataAccessor accessor,
IWailaConfigHandler config
) {
return null;
}
@Override
public NBTTagCompound getNBTData(
EntityPlayerMP player,
TileEntity te,
NBTTagCompound tag,
World world,
int x,
int y,
int z
) {
return null;
}
}