mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
112 lines
3.2 KiB
Java
112 lines
3.2 KiB
Java
package com.hbm.items.tool;
|
|
|
|
import com.hbm.interfaces.IFluidDuct;
|
|
import com.hbm.tileentity.machine.TileEntityDummy;
|
|
import com.hbm.tileentity.machine.TileEntityLockableBase;
|
|
import com.hbm.tileentity.network.TileEntityPylon;
|
|
|
|
import api.hbm.energy.IEnergyConnector;
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.client.resources.I18n;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.inventory.IInventory;
|
|
import net.minecraft.item.Item;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.tileentity.TileEntity;
|
|
import net.minecraft.util.ChatComponentText;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemAnalyzer extends Item {
|
|
|
|
@Override
|
|
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int b, float f0, float f1, float f2)
|
|
{
|
|
Block block = world.getBlock(x, y, z);
|
|
TileEntity te = world.getTileEntity(x, y, z);
|
|
|
|
if(world.isRemote) {
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Block: " + I18n.format(block.getUnlocalizedName() + ".name") + " (" + block.getUnlocalizedName() + ")"
|
|
));
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Meta: " + world.getBlockMetadata(x, y, z)
|
|
));
|
|
}
|
|
|
|
if(!world.isRemote) {
|
|
|
|
if(te == null) {
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Tile Entity: none"));
|
|
} else {
|
|
|
|
if(te instanceof TileEntityDummy) {
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Dummy Block, references TE at " + ((TileEntityDummy)te).targetX + " / " + ((TileEntityDummy)te).targetY + " / " + ((TileEntityDummy)te).targetZ));
|
|
|
|
te = world.getTileEntity(((TileEntityDummy)te).targetX, ((TileEntityDummy)te).targetY, ((TileEntityDummy)te).targetZ);
|
|
}
|
|
|
|
String[] parts = te.toString().split("\\.");
|
|
|
|
if(parts.length == 0)
|
|
parts = new String[]{"error"};
|
|
|
|
String post = parts[parts.length - 1];
|
|
String name = post.split("@")[0];
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Tile Entity: " + name));
|
|
|
|
if(te instanceof IInventory) {
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Slots: " + ((IInventory)te).getSizeInventory()));
|
|
}
|
|
|
|
if(te instanceof IEnergyConnector) {
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Electricity: " + ((IEnergyConnector)te).getPower() + " HE"));
|
|
}
|
|
|
|
if(te instanceof IFluidDuct) {
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Duct Type: " + I18n.format(((IFluidDuct)te).getType().getUnlocalizedName())));
|
|
}
|
|
|
|
if(te instanceof TileEntityPylon) {
|
|
|
|
/**
|
|
* this is a smoldering crater
|
|
*/
|
|
}
|
|
|
|
if(te instanceof TileEntityLockableBase) {
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Locked: " + ((TileEntityLockableBase)te).isLocked()));
|
|
|
|
if(((TileEntityLockableBase)te).isLocked()) {
|
|
|
|
//player.addChatMessage(new ChatComponentText(
|
|
// "Pins: " + ((TileEntityLockableBase)te).getPins()));
|
|
player.addChatMessage(new ChatComponentText(
|
|
"Pick Chance: " + (((TileEntityLockableBase)te).getMod() * 100D) + "%"));
|
|
}
|
|
}
|
|
}
|
|
|
|
player.addChatMessage(new ChatComponentText(
|
|
"----------------------------"
|
|
));
|
|
}
|
|
|
|
return true;
|
|
}
|
|
|
|
}
|