use of ivorius.reccomplex.item.ItemInventoryGenComponentTag in project RecurrentComplex by Ivorforce.
the class PacketSaveInvGenComponentHandler method processServer.
@Override
public void processServer(PacketSaveInvGenComponent message, MessageContext ctx, WorldServer server) {
NetHandlerPlayServer playServer = ctx.getServerHandler();
EntityPlayerMP player = playServer.player;
if (RecurrentComplex.checkPerms(player))
return;
SaveDirectoryData.Result saveDirectoryDataResult = message.getSaveDirectoryDataResult();
String id = message.getKey();
ResourceDirectory saveDir = saveDirectoryDataResult.directory;
ResourceDirectory delDir = saveDir.opposite();
GenericItemCollectionRegistry.INSTANCE.register(id, "", message.getInventoryGenerator(), saveDir.isActive(), saveDir.getLevel());
if (RCCommands.informSaveResult((message.getInventoryGenerator() != null && id != null) && RecurrentComplex.saver.trySave(saveDir.toPath(), RCFileSaver.INVENTORY_GENERATION_COMPONENT, id), player, saveDir, RCFileSaver.INVENTORY_GENERATION_COMPONENT, id)) {
if (saveDirectoryDataResult.deleteOther)
RCCommands.informDeleteResult(RecurrentComplex.saver.tryDeleteWithID(delDir.toPath(), RCFileSaver.INVENTORY_GENERATION_COMPONENT, id), player, RCFileSaver.INVENTORY_GENERATION_COMPONENT, id, delDir);
ItemStack heldItem = playServer.player.getHeldItem(EnumHand.MAIN_HAND);
if (heldItem != null && heldItem.getItem() instanceof ItemInventoryGenComponentTag)
ItemInventoryGenComponentTag.setComponentKey(heldItem, id);
player.openContainer.detectAndSendChanges();
}
}
Aggregations