use of mcjty.rftools.blocks.storagemonitor.StorageScannerContainer in project RFTools by McJty.
the class StorageCraftingTools method requestGridSync.
public static void requestGridSync(EntityPlayer player, BlockPos pos) {
World world = player.getEntityWorld();
CraftingGridProvider provider = null;
if (pos == null) {
// Handle tablet version
ItemStack mainhand = player.getHeldItemMainhand();
if (!mainhand.isEmpty() && mainhand.getItem() == ModularStorageSetup.storageModuleTabletItem) {
if (player.openContainer instanceof ModularStorageItemContainer) {
ModularStorageItemContainer storageItemContainer = (ModularStorageItemContainer) player.openContainer;
provider = storageItemContainer.getCraftingGridProvider();
} else if (player.openContainer instanceof RemoteStorageItemContainer) {
RemoteStorageItemContainer storageItemContainer = (RemoteStorageItemContainer) player.openContainer;
provider = storageItemContainer.getCraftingGridProvider();
} else if (player.openContainer instanceof StorageScannerContainer) {
StorageScannerContainer storageItemContainer = (StorageScannerContainer) player.openContainer;
provider = storageItemContainer.getStorageScannerTileEntity();
}
}
} else {
TileEntity te = world.getTileEntity(pos);
if (te instanceof CraftingGridProvider) {
provider = ((CraftingGridProvider) te);
}
}
if (provider != null) {
RFToolsMessages.INSTANCE.sendTo(new PacketGridToClient(pos, provider.getCraftingGrid()), (EntityPlayerMP) player);
}
}
use of mcjty.rftools.blocks.storagemonitor.StorageScannerContainer in project RFTools by McJty.
the class GuiProxy method getClientGuiElement.
@Override
public Object getClientGuiElement(int guiid, EntityPlayer entityPlayer, World world, int x, int y, int z) {
if (guiid == RFTools.GUI_MANUAL_MAIN) {
return new GuiRFToolsManual(GuiRFToolsManual.MANUAL_MAIN);
} else if (guiid == RFTools.GUI_MANUAL_SHAPE) {
return new GuiRFToolsManual(GuiRFToolsManual.MANUAL_SHAPE);
} else if (guiid == RFTools.GUI_TELEPORTPROBE) {
return new GuiTeleportProbe();
} else if (guiid == RFTools.GUI_ADVANCEDPORTER) {
return new GuiAdvancedPorter();
} else if (guiid == RFTools.GUI_LIST_BLOCKS) {
return new GuiNetworkMonitor();
} else if (guiid == RFTools.GUI_DEVELOPERS_DELIGHT) {
return new GuiDevelopersDelight();
} else if (guiid == RFTools.GUI_REMOTE_STORAGE_ITEM) {
return new GuiModularStorage(new RemoteStorageItemContainer(entityPlayer));
} else if (guiid == RFTools.GUI_REMOTE_STORAGESCANNER_ITEM) {
ItemStack tablet = entityPlayer.getHeldItemMainhand();
int monitordim = RFToolsTools.getDimensionFromModule(tablet);
BlockPos pos = RFToolsTools.getPositionFromModule(tablet);
StorageScannerTileEntity te = new StorageScannerTileEntity(entityPlayer, monitordim) {
@Override
public BlockPos getCraftingGridContainerPos() {
// We are a handheld so we return a null pos for the craftinggrid
return null;
}
@Override
public boolean isOpenWideView() {
TileEntity realTe = RFTools.proxy.getClientWorld().getTileEntity(pos);
if (realTe instanceof StorageScannerTileEntity) {
return ((StorageScannerTileEntity) realTe).isOpenWideView();
}
return true;
}
@Override
public BlockPos getStorageScannerPos() {
return pos;
}
};
// The position of the actual storage scanner is set on the dummy te
te.setPos(pos);
return new GuiStorageScanner(te, new StorageScannerContainer(entityPlayer, te));
} else if (guiid == RFTools.GUI_MODULAR_STORAGE_ITEM) {
return new GuiModularStorage(new ModularStorageItemContainer(entityPlayer));
} else if (guiid == RFTools.GUI_STORAGE_FILTER) {
return new GuiStorageFilter(new StorageFilterContainer(entityPlayer));
} else if (guiid == RFTools.GUI_MODIFIER_MODULE) {
return new GuiModifier(new ModifierContainer(entityPlayer));
} else if (guiid == RFTools.GUI_SHAPECARD) {
return new GuiShapeCard(false);
} else if (guiid == RFTools.GUI_SHAPECARD_COMPOSER) {
return new GuiShapeCard(true);
} else if (guiid == RFTools.GUI_CHAMBER_DETAILS) {
return new GuiChamberDetails();
}
// if (guiid == RFTools.GUI_LIST_BLOCKS) {
// return new GuiNetworkMonitor();
// } else if (guiid == RFTools.GUI_DEVELOPERS_DELIGHT) {
// return new GuiDevelopersDelight();
// } else if (guiid == RFTools.GUI_MANUAL_DIMENSION) {
// return new GuiRFToolsManual(GuiRFToolsManual.MANUAL_DIMENSION);
// }
BlockPos pos = new BlockPos(x, y, z);
Block block = world.getBlockState(pos).getBlock();
if (block instanceof GenericBlock) {
GenericBlock<?, ?> genericBlock = (GenericBlock<?, ?>) block;
TileEntity te = world.getTileEntity(pos);
return genericBlock.createClientGui(entityPlayer, te);
}
return null;
}
use of mcjty.rftools.blocks.storagemonitor.StorageScannerContainer in project RFTools by McJty.
the class GuiProxy method getServerGuiElement.
@Override
public Object getServerGuiElement(int guiid, EntityPlayer entityPlayer, World world, int x, int y, int z) {
if (guiid == RFTools.GUI_MANUAL_MAIN || guiid == RFTools.GUI_MANUAL_SHAPE || guiid == RFTools.GUI_TELEPORTPROBE || guiid == RFTools.GUI_ADVANCEDPORTER || guiid == RFTools.GUI_SHAPECARD || guiid == RFTools.GUI_SHAPECARD_COMPOSER || guiid == RFTools.GUI_CHAMBER_DETAILS || guiid == RFTools.GUI_DEVELOPERS_DELIGHT || guiid == RFTools.GUI_LIST_BLOCKS) {
return null;
} else if (guiid == RFTools.GUI_REMOTE_STORAGE_ITEM) {
return new RemoteStorageItemContainer(entityPlayer);
} else if (guiid == RFTools.GUI_REMOTE_STORAGESCANNER_ITEM) {
// We are in a tablet
ItemStack tablet = entityPlayer.getHeldItemMainhand();
int monitordim = RFToolsTools.getDimensionFromModule(tablet);
BlockPos pos = RFToolsTools.getPositionFromModule(tablet);
WorldServer w = DimensionManager.getWorld(monitordim);
if (w == null) {
return null;
}
TileEntity te = w.getTileEntity(pos);
if (!(te instanceof StorageScannerTileEntity)) {
return null;
}
return new StorageScannerContainer(entityPlayer, (IInventory) te);
} else if (guiid == RFTools.GUI_MODULAR_STORAGE_ITEM) {
return new ModularStorageItemContainer(entityPlayer);
} else if (guiid == RFTools.GUI_STORAGE_FILTER) {
return new StorageFilterContainer(entityPlayer);
} else if (guiid == RFTools.GUI_MODIFIER_MODULE) {
return new ModifierContainer(entityPlayer);
}
// if (guiid == RFTools.GUI_LIST_BLOCKS || guiid == RFTools.GUI_DEVELOPERS_DELIGHT ||
// guiid == RFTools.GUI_MANUAL_DIMENSION || guiid == RFTools.GUI_CHAMBER_DETAILS || guiid == RFTools.GUI_SHAPECARD) {
// return null;
// }
BlockPos pos = new BlockPos(x, y, z);
Block block = world.getBlockState(pos).getBlock();
if (block instanceof GenericBlock) {
GenericBlock<?, ?> genericBlock = (GenericBlock<?, ?>) block;
TileEntity te = world.getTileEntity(pos);
return genericBlock.createServerContainer(entityPlayer, te);
}
return null;
}
Aggregations