From 3ecd8a418f95e73c60890e13e5e09614234ea1df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mano=C3=ABl=20Trapier?= Date: Sat, 5 Mar 2011 15:29:54 +0100 Subject: [PATCH] Change backen for loading world, now use folder path as index instead of slot id. --- Classes/IJInventoryWindowController.h | 7 +- Classes/IJInventoryWindowController.m | 97 +- Classes/IJMinecraftLevel.h | 12 +- Classes/IJMinecraftLevel.m | 41 +- Credits.rtf | 9 +- English.lproj/InfoPlist.strings | 5 +- English.lproj/MainMenu.xib | 805 ++------ InsideJob-Info.plist | 14 +- InsideJob.xcodeproj/project.pbxproj | 5 + Items.csv | 1 + README.markdown | 9 + fr.lproj/InfoPlist.strings | 5 + fr.lproj/MainMenu.xib | 2719 +++++++++++++++++++++++++ 13 files changed, 3038 insertions(+), 691 deletions(-) create mode 100644 fr.lproj/InfoPlist.strings create mode 100644 fr.lproj/MainMenu.xib diff --git a/Classes/IJInventoryWindowController.h b/Classes/IJInventoryWindowController.h index 912e872..5144c19 100644 --- a/Classes/IJInventoryWindowController.h +++ b/Classes/IJInventoryWindowController.h @@ -16,6 +16,7 @@ @interface IJInventoryWindowController : NSWindowController { IJMinecraftLevel *level; + IJMinecraftLevel *player; /***< SMP Player.dat file use same format as level.dat */ NSArray *inventory; NSSegmentedControl *worldSelectionControl; @@ -42,8 +43,9 @@ // Document int64_t sessionLockValue; - int loadedWorldIndex; - int attemptedLoadWorldIndex; + int loadedWorldIndex; + NSString *loadedWorldFolder; + NSString *attemptedLoadWorldFolder; } @property (nonatomic, assign) IBOutlet NSSegmentedControl *worldSelectionControl; @@ -56,6 +58,7 @@ @property (nonatomic, retain) NSNumber *worldTime; +- (IBAction)menuSelectWorldFromPath:(id)sender; - (IBAction)menuSelectWorld:(id)sender; - (IBAction)worldSelectionChanged:(id)sender; - (IBAction)updateItemSearchFilter:(id)sender; diff --git a/Classes/IJInventoryWindowController.m b/Classes/IJInventoryWindowController.m index d9b7bc4..a8fd6a1 100644 --- a/Classes/IJInventoryWindowController.m +++ b/Classes/IJInventoryWindowController.m @@ -16,6 +16,7 @@ @interface IJInventoryWindowController () - (void)saveWorld; - (void)loadWorldAtIndex:(int)worldIndex; +- (void)loadWorldAtFolder:(NSString *)worldFolder; - (BOOL)isDocumentEdited; @end @@ -77,20 +78,29 @@ if (returnCode == NSAlertDefaultReturn) // Save { [self saveWorld]; - [self loadWorldAtIndex:attemptedLoadWorldIndex]; + [self loadWorldAtFolder:attemptedLoadWorldFolder]; } else if (returnCode == NSAlertAlternateReturn) // Don't save { [self setDocumentEdited:NO]; // Slightly hacky -- prevent the alert from being put up again. - [self loadWorldAtIndex:attemptedLoadWorldIndex]; + [self loadWorldAtFolder:attemptedLoadWorldFolder]; } } -- (void)loadWorldAtIndex:(int)worldIndex +- (void)loadWorldPlayerInventory:(NSString *)PlayerName +{ + /* + * If passing NULL to PlayerName, we will use level.dat instead of + * Players/PlayerName.dat file + */ + +} + +- (void)loadWorldAtFolder:(NSString *)worldPath { if ([self isDocumentEdited]) { - attemptedLoadWorldIndex = worldIndex; + attemptedLoadWorldFolder = worldPath; NSBeginInformationalAlertSheet(@"Do you want to save the changes you made in this world?", @"Save", @"Don't Save", @"Cancel", self.window, self, @selector(dirtyLoadSheetDidEnd:returnCode:contextInfo:), nil, nil, @"Your changes will be lost if you do not save them."); return; } @@ -111,22 +121,9 @@ [self didChangeValueForKey:@"worldTime"]; statusTextField.stringValue = @"No world loaded."; - - if (![IJMinecraftLevel worldExistsAtIndex:worldIndex]) - { - NSBeginCriticalAlertSheet(@"No world exists in that slot.", @"Dismiss", nil, nil, self.window, nil, nil, nil, nil, @"Please create a new single player world in this slot using Minecraft and try again."); - return; - } - - sessionLockValue = [IJMinecraftLevel writeToSessionLockAtIndex:worldIndex]; - if (![IJMinecraftLevel checkSessionLockAtIndex:worldIndex value:sessionLockValue]) - { - NSBeginCriticalAlertSheet(@"Error loading world.", @"Dismiss", nil, nil, self.window, nil, nil, nil, nil, @"Inside Job was unable obtain the session lock."); - return; - } - - NSString *levelPath = [IJMinecraftLevel pathForLevelDatAtIndex:worldIndex]; - + + NSString *levelPath = [IJMinecraftLevel pathForLevelDatAtFolder:worldPath]; + NSData *fileData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:levelPath]]; if (!fileData) @@ -138,8 +135,19 @@ [self willChangeValueForKey:@"worldTime"]; - level = [[IJMinecraftLevel nbtContainerWithData:fileData] retain]; - inventory = [[level inventory] retain]; + /* Now search for first player .dat file (but by default try to load from level.dat */ + NSString *playerPath = [IJMinecraftLevel pathForLevelDatAtFolder:worldPath]; + NSData *playerFileData = [NSData dataWithContentsOfURL:[NSURL fileURLWithPath:playerPath]]; + if (!fileData) + { + // Error loading + NSBeginCriticalAlertSheet(@"Error loading world.", @"Dismiss", nil, nil, self.window, nil, nil, nil, nil, @"InsideJob was unable to load the level at %@.", levelPath); + return; + } + + level = [[IJMinecraftLevel nbtContainerWithData:fileData] retain]; + player = [[IJMinecraftLevel nbtContainerWithData:playerFileData] retain]; + inventory = [[player inventory] retain]; [self didChangeValueForKey:@"worldTime"]; @@ -173,8 +181,8 @@ } } -// NSLog(@"normal: %@", normalInventory); -// NSLog(@"quick: %@", quickInventory); + // NSLog(@"normal: %@", normalInventory); + // NSLog(@"quick: %@", quickInventory); [inventoryView setItems:normalInventory]; [quickView setItems:quickInventory]; @@ -182,11 +190,21 @@ [self setDocumentEdited:NO]; statusTextField.stringValue = @""; - loadedWorldIndex = worldIndex; + loadedWorldFolder = worldPath; } +- (void)loadWorldAtIndex:(int)worldIndex +{ + NSString *worldPath; + worldPath = [IJMinecraftLevel pathForWorldAtIndex:worldIndex]; + + [self loadWorldAtFolder: worldPath]; +} + + - (void)saveWorld { +#if 0 int worldIndex = loadedWorldIndex; if (inventory == nil) return; // no world loaded, nothing to save @@ -260,6 +278,7 @@ [self setDocumentEdited:NO]; statusTextField.stringValue = @"Saved."; +#endif } - (void)setDocumentEdited:(BOOL)edited @@ -284,6 +303,34 @@ [worldSelectionControl setSelectedSegment:worldIndex - 1]; } +- (IBAction)menuSelectWorldFromPath:(id)sender +{ + NSInteger openResult; + /* Ask user for world folder path */ + NSOpenPanel *panel = [NSOpenPanel openPanel]; + NSString *worldPath; + + /* Only allow to choose a folder */ + [panel setCanChooseDirectories:YES]; + [panel setCanChooseFiles:NO]; + openResult = [panel runModal]; + + if (openResult == NSOKButton) + { + worldPath = [[panel directoryURL] path]; + + /* Verify for level.dat */ + if (![IJMinecraftLevel worldExistsAtFolder: worldPath]) + { + NSBeginCriticalAlertSheet(@"No world exists in that slot.", @"Dismiss", nil, nil, self.window, nil, nil, nil, nil, @"Please create a new single player world in this slot using Minecraft and try again."); + return; + } + /* Now try to open the world... */ + [self loadWorldAtFolder:[[panel directoryURL] path]]; + + } +} + - (IBAction)worldSelectionChanged:(id)sender { int worldIndex = [worldSelectionControl selectedSegment] + 1; diff --git a/Classes/IJMinecraftLevel.h b/Classes/IJMinecraftLevel.h index 509a3f3..e6c2580 100644 --- a/Classes/IJMinecraftLevel.h +++ b/Classes/IJMinecraftLevel.h @@ -4,6 +4,7 @@ // // Created by Adam Preble on 10/7/10. // Copyright 2010 Adam Preble. All rights reserved. +// Changes for opening folder Copyright 2011 Manoel Trapier // #import @@ -17,13 +18,14 @@ @property (nonatomic, readonly) NBTContainer *worldTimeContainer; + (NSString *)pathForWorldAtIndex:(int)worldIndex; -+ (NSString *)pathForLevelDatAtIndex:(int)worldIndex; -+ (NSString *)pathForSessionLockAtIndex:(int)worldIndex; -+ (BOOL)worldExistsAtIndex:(int)worldIndex; ++ (NSString *)pathForLevelDatAtFolder:(NSString *)worldPath; ++ (NSString *)pathForSessionLockAtFolder:(NSString *)worldPath; -+ (int64_t)writeToSessionLockAtIndex:(int)worldIndex; -+ (BOOL)checkSessionLockAtIndex:(int)worldIndex value:(int64_t)checkValue; ++ (BOOL)worldExistsAtFolder:(NSString *)worldPath; + ++ (int64_t)writeToSessionLockAtFolder:(NSString *)worldPath; ++ (BOOL)checkSessionLockAtFolder:(NSString *)worldPath value:(int64_t)checkValue; @end diff --git a/Classes/IJMinecraftLevel.m b/Classes/IJMinecraftLevel.m index ed598f9..988e321 100644 --- a/Classes/IJMinecraftLevel.m +++ b/Classes/IJMinecraftLevel.m @@ -4,6 +4,7 @@ // // Created by Adam Preble on 10/7/10. // Copyright 2010 Adam Preble. All rights reserved. +// Changes for opening folder Copyright 2011 Manoel Trapier // #import "IJMinecraftLevel.h" @@ -96,20 +97,6 @@ return path; } -+ (NSString *)pathForLevelDatAtIndex:(int)worldIndex -{ - return [[[self class] pathForWorldAtIndex:worldIndex] stringByAppendingPathComponent:@"level.dat"]; -} -+ (NSString *)pathForSessionLockAtIndex:(int)worldIndex -{ - return [[[self class] pathForWorldAtIndex:worldIndex] stringByAppendingPathComponent:@"session.lock"]; -} - -+ (BOOL)worldExistsAtIndex:(int)worldIndex -{ - return [[NSFileManager defaultManager] fileExistsAtPath:[[self class] pathForLevelDatAtIndex:worldIndex]]; -} - + (NSData *)dataWithInt64:(int64_t)v { NSMutableData *data = [NSMutableData data]; @@ -128,9 +115,25 @@ return n; } -+ (int64_t)writeToSessionLockAtIndex:(int)worldIndex +/******************************************************************************/ ++ (NSString *)pathForLevelDatAtFolder:(NSString *)worldPath { - NSString *path = [IJMinecraftLevel pathForSessionLockAtIndex:worldIndex]; + return [worldPath stringByAppendingPathComponent:@"level.dat"]; +} + ++ (NSString *)pathForSessionLockAtFolder:(NSString *)worldPath +{ + return [worldPath stringByAppendingPathComponent:@"session.lock"]; +} + ++ (BOOL)worldExistsAtFolder:(NSString *)worldPath +{ + return [[NSFileManager defaultManager] fileExistsAtPath:[[self class] pathForLevelDatAtFolder:worldPath]]; +} + ++ (int64_t)writeToSessionLockAtFolder:(NSString *)worldPath +{ + NSString *path = [IJMinecraftLevel pathForSessionLockAtFolder:worldPath]; NSDate *now = [NSDate date]; NSTimeInterval interval = [now timeIntervalSince1970]; int64_t milliseconds = (int64_t)(interval * 1000.0); @@ -142,11 +145,11 @@ return milliseconds; } -+ (BOOL)checkSessionLockAtIndex:(int)worldIndex value:(int64_t)checkValue ++ (BOOL)checkSessionLockAtFolder:(NSString *)worldPath value:(int64_t)checkValue { - NSString *path = [IJMinecraftLevel pathForSessionLockAtIndex:worldIndex]; + NSString *path = [IJMinecraftLevel pathForSessionLockAtFolder:worldPath]; NSData *data = [NSData dataWithContentsOfFile:path]; - + if (!data) { NSLog(@"Failed to read session lock at %@", path); diff --git a/Credits.rtf b/Credits.rtf index e1266d4..6bbdfda 100644 --- a/Credits.rtf +++ b/Credits.rtf @@ -1,11 +1,14 @@ -{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf320 +{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350 {\fonttbl\f0\fnil\fcharset0 LucidaGrande;} {\colortbl;\red255\green255\blue255;} -\vieww9000\viewh8400\viewkind0 +\paperw12240\paperh15840\vieww9000\viewh8400\viewkind0 \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural -\f0\fs20 \cf0 A Minecraft Inventory Editor\ +\f0\fs20 \cf0 A Minecraft Inventory Editor - SMP Friendly Version\ \ +{\field{\*\fldinst{HYPERLINK "http://github.com/godzil/InsideJob"}}{\fldrslt http://github.com/godzil/InsideJob}}\ +\ +Forked from original version by Adam Preble:\ {\field{\*\fldinst{HYPERLINK "http://adampreble.net"}}{\fldrslt http://adampreble.net}}\ {\field{\*\fldinst{HYPERLINK "http://github.com/preble/InsideJob"}}{\fldrslt http://github.com/preble/InsideJob}}\ \ diff --git a/English.lproj/InfoPlist.strings b/English.lproj/InfoPlist.strings index 477b28f..07b744a 100644 --- a/English.lproj/InfoPlist.strings +++ b/English.lproj/InfoPlist.strings @@ -1,2 +1,5 @@ /* Localized versions of Info.plist keys */ - +"No world loaded." = "No world loaded."; +"No world exists in that slot." = "No world exists in that slot."; +"Dismiss" = "Dismiss"; +"Please create a new single player world in this slot using Minecraft and try again." = "Please create a new single player world in this slot using Minecraft and try again."; \ No newline at end of file diff --git a/English.lproj/MainMenu.xib b/English.lproj/MainMenu.xib index 8ee7afa..472dbb3 100644 --- a/English.lproj/MainMenu.xib +++ b/English.lproj/MainMenu.xib @@ -2,18 +2,37 @@ 1060 - 10F569 - 804 - 1038.29 - 461.00 + 10J567 + 1294 + 1038.35 + 462.00 com.apple.InterfaceBuilder.CocoaPlugin - 804 + 1294 - + YES - - + NSMenu + NSButton + NSCustomObject + NSImageCell + NSTableView + NSCustomView + NSSearchField + NSTextField + NSNumberFormatter + NSSearchFieldCell + NSWindowTemplate + NSTextFieldCell + NSButtonCell + NSTableColumn + NSSegmentedControl + NSBox + NSView + NSScrollView + NSSegmentedCell + NSScroller + NSMenuItem YES @@ -250,6 +269,25 @@ 5 + + + YES + YES + + + 2147483647 + + + + + + From Folder + o + 1048576 + 2147483647 + + + @@ -506,7 +544,6 @@ Inside Job NSWindow - {1.79769e+308, 1.79769e+308} 256 @@ -515,8 +552,10 @@ 266 - {{211, 369}, {366, 14}} + {{303, 369}, {274, 14}} + + YES 68288064 @@ -553,6 +592,8 @@ 268 {{101, 327}, {85, 19}} + + YES -1804468671 @@ -594,14 +635,12 @@ NaN - + YES YES - - YES - + @@ -649,6 +688,8 @@ 268 {{56, 329}, {40, 14}} + + YES 68288064 @@ -665,6 +706,8 @@ 10 {{0, 355}, {585, 5}} + + {0, 0} 67239424 @@ -691,6 +734,8 @@ 268 {{11, 364}, {195, 25}} + + YES 67239424 @@ -738,6 +783,8 @@ 268 {{11, 58}, {360, 120}} + + IJInventoryView @@ -745,6 +792,8 @@ 268 {{11, 10}, {360, 40}} + + IJInventoryView @@ -752,6 +801,8 @@ 268 {{11, 186}, {40, 160}} + + IJInventoryView @@ -759,6 +810,8 @@ 265 {{379, 327}, {195, 22}} + + YES 343014976 @@ -831,6 +884,8 @@ 4352 {193, 307} + + YES @@ -897,7 +952,7 @@ NaN - + @@ -1009,6 +1064,7 @@ {{1, 1}, {193, 307}} + @@ -1019,6 +1075,8 @@ -2147483392 {{191, 17}, {15, 365}} + + _doScroller: 0.9974811083123426 @@ -1028,6 +1086,8 @@ -2147483392 {{1, 382}, {190, 15}} + + 1 _doScroller: @@ -1036,6 +1096,7 @@ {{379, 10}, {195, 309}} + 562 @@ -1043,12 +1104,43 @@ QSAAAEEgAABBmAAAQZgAAA + + + -2147483380 + {{212, 368}, {88, 18}} + + + + YES + + 67239424 + 0 + SMP World + + + 1211912703 + 2 + + NSImage + NSSwitch + + + NSSwitch + + + + 200 + 25 + + - {585, 396} + {{7, 11}, {585, 396}} + + {{0, 0}, {1440, 878}} - {1.79769e+308, 1.79769e+308} + {1e+13, 1e+13} MainWindow @@ -1424,6 +1516,14 @@ 685 + + + menuSelectWorldFromPath: + + + + 694 + @@ -1749,6 +1849,7 @@ + @@ -2004,6 +2105,8 @@ + + @@ -2032,6 +2135,30 @@ + + 692 + + + + + 693 + + + + + 695 + + + YES + + + + + + 696 + + + @@ -2112,7 +2239,6 @@ 371.IBWindowTemplateEditedContentRect 371.NSWindowTemplate.visibleAtLaunch 371.editorWindowContentRectSynchronizationRect - 371.windowTemplate.maxSize 372.IBPluginDependency 490.IBPluginDependency 491.IBEditorWindowLastContentRect @@ -2179,6 +2305,10 @@ 677.IBPluginDependency 678.IBPluginDependency 679.IBPluginDependency + 692.IBPluginDependency + 693.IBPluginDependency + 695.IBPluginDependency + 696.IBPluginDependency 75.IBPluginDependency 75.ImportedFromIB2 81.IBEditorWindowLastContentRect @@ -2266,7 +2396,6 @@ {{114, 295}, {585, 396}} {{33, 99}, {480, 360}} - {3.40282e+38, 3.40282e+38} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin {{690, 813}, {169, 23}} @@ -2357,6 +2486,10 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin {{483, 773}, {178, 63}} com.apple.InterfaceBuilder.CocoaPlugin @@ -2371,20 +2504,16 @@ YES - - YES - + YES - - YES - + - 685 + 696 @@ -2392,20 +2521,9 @@ IJInventoryView NSView - - delegate - id - - - delegate - - delegate - id - - IBProjectSource - Classes/IJInventoryView.h + ./Classes/IJInventoryView.h @@ -2418,6 +2536,7 @@ itemTableViewDoubleClicked: makeSearchFieldFirstResponder: menuSelectWorld: + menuSelectWorldFromPath: updateItemSearchFilter: worldSelectionChanged: @@ -2428,6 +2547,7 @@ id id id + id @@ -2437,6 +2557,7 @@ itemTableViewDoubleClicked: makeSearchFieldFirstResponder: menuSelectWorld: + menuSelectWorldFromPath: updateItemSearchFilter: worldSelectionChanged: @@ -2454,6 +2575,10 @@ menuSelectWorld: id + + menuSelectWorldFromPath: + id + updateItemSearchFilter: id @@ -2472,7 +2597,6 @@ inventoryView itemSearchField itemTableView - observerObject quickView statusTextField worldSelectionControl @@ -2483,7 +2607,6 @@ IJInventoryView NSSearchField NSTableView - id IJInventoryView NSTextField NSSegmentedControl @@ -2497,7 +2620,6 @@ inventoryView itemSearchField itemTableView - observerObject quickView statusTextField worldSelectionControl @@ -2520,10 +2642,6 @@ itemTableView NSTableView - - observerObject - id - quickView IJInventoryView @@ -2540,7 +2658,7 @@ IBProjectSource - Classes/IJInventoryWindowController.h + ./Classes/IJInventoryWindowController.h @@ -2548,7 +2666,7 @@ NSTableView IBProjectSource - Classes/IJTableView.h + ./Classes/IJTableView.h @@ -2567,98 +2685,11 @@ IBProjectSource - Classes/InsideJobAppDelegate.h - - - - - YES - - NSActionCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSActionCell.h - - - - NSApplication - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSApplication.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSApplicationScripting.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSColorPanel.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSHelpManager.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSPageLayout.h - - - - NSApplication - - IBFrameworkSource - AppKit.framework/Headers/NSUserInterfaceItemSearching.h - - - - NSBox - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSBox.h - - - - NSBrowser - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSBrowser.h - - - - NSCell - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSCell.h - - - - NSControl - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSControl.h + ./Classes/InsideJobAppDelegate.h NSDocument - NSObject YES @@ -2720,505 +2751,8 @@ - IBFrameworkSource - AppKit.framework/Headers/NSDocument.h - - - - NSDocument - - IBFrameworkSource - AppKit.framework/Headers/NSDocumentScripting.h - - - - NSFontManager - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontManager.h - - - - NSFormatter - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFormatter.h - - - - NSImageCell - NSCell - - IBFrameworkSource - AppKit.framework/Headers/NSImageCell.h - - - - NSMatrix - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSMatrix.h - - - - NSMenu - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenu.h - - - - NSMenuItem - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSMenuItem.h - - - - NSMovieView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSMovieView.h - - - - NSNumberFormatter - NSFormatter - - IBFrameworkSource - Foundation.framework/Headers/NSNumberFormatter.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSAccessibility.h - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDictionaryController.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSDragging.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSFontPanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSKeyValueBinding.h - - - - NSObject - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSNibLoading.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSOutlineView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSPasteboard.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSSavePanel.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableView.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSToolbarItem.h - - - - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSView.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObjectScripting.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSPortCoder.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptClassDescription.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptObjectSpecifiers.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSScriptWhoseTests.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLDownload.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CAAnimation.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CALayer.h - - - - NSObject - - IBFrameworkSource - QuartzCore.framework/Headers/CIImageProvider.h - - - - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSInterfaceStyle.h - - - - NSResponder - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSResponder.h - - - - NSScrollView - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSScrollView.h - - - - NSScroller - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSScroller.h - - - - NSSearchField - NSTextField - - IBFrameworkSource - AppKit.framework/Headers/NSSearchField.h - - - - NSSearchFieldCell - NSTextFieldCell - - IBFrameworkSource - AppKit.framework/Headers/NSSearchFieldCell.h - - - - NSSegmentedCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedCell.h - - - - NSSegmentedControl - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSSegmentedControl.h - - - - NSTableColumn - NSObject - - IBFrameworkSource - AppKit.framework/Headers/NSTableColumn.h - - - - NSTableView - NSControl - - - - NSText - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSText.h - - - - NSTextField - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSTextField.h - - - - NSTextFieldCell - NSActionCell - - IBFrameworkSource - AppKit.framework/Headers/NSTextFieldCell.h - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSClipView.h - - - - NSView - - - - NSView - - IBFrameworkSource - AppKit.framework/Headers/NSRulerView.h - - - - NSView - NSResponder - - - - NSWindow - - IBFrameworkSource - AppKit.framework/Headers/NSDrawer.h - - - - NSWindow - NSResponder - - IBFrameworkSource - AppKit.framework/Headers/NSWindow.h - - - - NSWindow - - IBFrameworkSource - AppKit.framework/Headers/NSWindowScripting.h - - - - NSWindowController - NSResponder - - showWindow: - id - - - showWindow: - - showWindow: - id - - - - IBFrameworkSource - AppKit.framework/Headers/NSWindowController.h + IBProjectSource + ./Classes/NSDocument.h @@ -3234,7 +2768,6 @@ YES - ../InsideJob.xcodeproj 3 YES @@ -3242,11 +2775,13 @@ YES NSMenuCheckmark NSMenuMixedState + NSSwitch YES {9, 8} {7, 2} + {15, 15} diff --git a/InsideJob-Info.plist b/InsideJob-Info.plist index 771242b..3f9849c 100644 --- a/InsideJob-Info.plist +++ b/InsideJob-Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion English + CFBundleDocumentTypes + CFBundleExecutable ${EXECUTABLE_NAME} CFBundleIconFile @@ -17,11 +19,15 @@ CFBundlePackageType APPL CFBundleShortVersionString - 1.0.2 + 1.0.2-gdz CFBundleSignature ???? + CFBundleURLTypes + CFBundleVersion 5 + LSApplicationCategoryType + public.app-category.utilities LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} NSHumanReadableCopyright @@ -30,5 +36,11 @@ MainMenu NSPrincipalClass NSApplication + NSServices + + UTExportedTypeDeclarations + + UTImportedTypeDeclarations + diff --git a/InsideJob.xcodeproj/project.pbxproj b/InsideJob.xcodeproj/project.pbxproj index 1392ea4..f98134d 100644 --- a/InsideJob.xcodeproj/project.pbxproj +++ b/InsideJob.xcodeproj/project.pbxproj @@ -74,6 +74,8 @@ 66BCFE61125FCEC6005A23F4 /* DataValuesV110Transparent.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = DataValuesV110Transparent.png; sourceTree = ""; }; 8D1107310486CEB800E47090 /* InsideJob-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "InsideJob-Info.plist"; sourceTree = ""; }; 8D1107320486CEB800E47090 /* Inside Job.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Inside Job.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D13FDB481322757D00D318D1 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file; name = fr; path = fr.lproj/InfoPlist.strings; sourceTree = ""; }; + D13FDB491322782100D318D1 /* fr */ = {isa = PBXFileReference; lastKnownFileType = file; name = fr; path = fr.lproj/MainMenu.xib; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -272,6 +274,7 @@ Japanese, French, German, + fr, ); mainGroup = 29B97314FDCFA39411CA2CEA /* InsideJob */; projectDirPath = ""; @@ -327,6 +330,7 @@ isa = PBXVariantGroup; children = ( 089C165DFE840E0CC02AAC07 /* English */, + D13FDB481322757D00D318D1 /* fr */, ); name = InfoPlist.strings; sourceTree = ""; @@ -335,6 +339,7 @@ isa = PBXVariantGroup; children = ( 1DDD58150DA1D0A300B32029 /* English */, + D13FDB491322782100D318D1 /* fr */, ); name = MainMenu.xib; sourceTree = ""; diff --git a/Items.csv b/Items.csv index a2277ec..661b683 100644 --- a/Items.csv +++ b/Items.csv @@ -204,5 +204,6 @@ 353,Sugar 354,Cake 355,Bed +356,Redstone Repeater 2256,Gold Record 2257,Green Record \ No newline at end of file diff --git a/README.markdown b/README.markdown index 673520f..547a7cb 100644 --- a/README.markdown +++ b/README.markdown @@ -5,6 +5,7 @@ ![Inside Job Screenshot](http://adampreble.net/images/InsideJob.png) Inside Job was written in early October 2010 by [Adam Preble](http://adampreble.net). +Opening SMP world folder added by Godzil [Manoel Trapier](http://www.godzil.net). Features include: @@ -33,6 +34,14 @@ After changing your inventory you will need to save the currently open world usi ### Release Notes +#### 1.0.2-gdz - March 5, 2011 + +- Major changes on world internal selection, we no longuer use World Index as ID, but the world path. We currently still have "slots" on the interface, but it should be changed soon to use a popup button with the list of worlds. +- Now we have separated level.dat form player.dat for beeing SMP friendly. +- Start to use externalised resources string to be more easy to translate the app. +- Add missing Redstone repeater +- Forked from official version + #### 1.0.2 - February 25, 2011 - Inside Job presently only supports worlds named "World1" thru "World5". Support for worlds with other names will be added in a future release. diff --git a/fr.lproj/InfoPlist.strings b/fr.lproj/InfoPlist.strings new file mode 100644 index 0000000..5f63d2a --- /dev/null +++ b/fr.lproj/InfoPlist.strings @@ -0,0 +1,5 @@ +/* Localized versions of Info.plist keys */ +"No world loaded." = "Aucun monde chargé."; +"No world exists in that slot." = "Aucun mode dans ce slot"; +"Dismiss" = "Annuler"; +"Please create a new single player world in this slot using Minecraft and try again." = "Veuillez creer un monde en mode un joueur utilisant ce slot dans Minecraft, et essayez a nouveau."; diff --git a/fr.lproj/MainMenu.xib b/fr.lproj/MainMenu.xib new file mode 100644 index 0000000..b3eee80 --- /dev/null +++ b/fr.lproj/MainMenu.xib @@ -0,0 +1,2719 @@ + + + + 1060 + 10J567 + 1294 + 1038.35 + 462.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 1294 + + + YES + NSTableColumn + NSSegmentedControl + NSNumberFormatter + NSScroller + NSMenuItem + NSMenu + NSTextFieldCell + NSScrollView + NSBox + NSImageCell + NSSearchField + NSTableView + NSSearchFieldCell + NSCustomObject + NSSegmentedCell + NSView + NSWindowTemplate + NSTextField + NSCustomView + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + + + PluginDependencyRecalculationVersion + + + + YES + + NSApplication + + + FirstResponder + + + NSApplication + + + AMainMenu + + YES + + + Inside Job + + 1048576 + 2147483647 + + NSImage + NSMenuCheckmark + + + NSImage + NSMenuMixedState + + submenuAction: + + Inside Job + + YES + + + About Inside Job + + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Preferences… + , + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Services + + 1048576 + 2147483647 + + + submenuAction: + + Services + + YES + + _NSServicesMenu + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Hide Inside Job + h + 1048576 + 2147483647 + + + + + + Hide Others + h + 1572864 + 2147483647 + + + + + + Show All + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Quit Inside Job + q + 1048576 + 2147483647 + + + + + _NSAppleMenu + + + + + Monde + + 1048576 + 2147483647 + + + submenuAction: + + Monde + + YES + + + Open + + 2147483647 + + + submenuAction: + + Open + + YES + + + World 1 + 1 + 1048576 + 2147483647 + + + 1 + + + + World 2 + 2 + 1048576 + 2147483647 + + + 2 + + + + World 3 + 3 + 1048576 + 2147483647 + + + 3 + + + + World 4 + 4 + 1048576 + 2147483647 + + + 4 + + + + World 5 + 5 + 1048576 + 2147483647 + + + 5 + + + + YES + YES + + + 2147483647 + + + + + + From Folder + o + 1048576 + 2147483647 + + + + + + + + + Save + s + 1048576 + 2147483647 + + + + + + Revert to Saved + + 2147483647 + + + + + + + + + Édition + + 1048576 + 2147483647 + + + submenuAction: + + Édition + + YES + + + Undo + z + 1048576 + 2147483647 + + + + + + Redo + Z + 1179648 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Cut + x + 1048576 + 2147483647 + + + + + + Copy + c + 1048576 + 2147483647 + + + + + + Paste + v + 1048576 + 2147483647 + + + + + + Delete + CA + 2147483647 + + + + + + Select All + a + 1048576 + 2147483647 + + + + + + YES + YES + + + 2147483647 + + + + + + Find Item + f + 1048576 + 2147483647 + + + + + + + + + Vue + + 1048576 + 2147483647 + + + submenuAction: + + Vue + + YES + + + Show Toolbar + t + 1572864 + 2147483647 + + + + + + Customize Toolbar… + + 1048576 + 2147483647 + + + + + + + + + Fenêtres + + 1048576 + 2147483647 + + + submenuAction: + + Fenêtres + + YES + + + Minimize + m + 1048576 + 2147483647 + + + + + + Zoom + + 1048576 + 2147483647 + + + + + + YES + YES + + + 1048576 + 2147483647 + + + + + + Bring All to Front + + 1048576 + 2147483647 + + + + + _NSWindowsMenu + + + + + Aide + + 2147483647 + + + submenuAction: + + Aide + + YES + + + InsideJob Help + ? + 1048576 + 2147483647 + + + + + _NSHelpMenu + + + + _NSMainMenu + + + 7 + 2 + {{347, 340}, {585, 396}} + 1954021376 + Inside Job + NSWindow + + + + 256 + + YES + + + 266 + {{211, 369}, {366, 14}} + + + YES + + 68288064 + 71435264 + Status + + LucidaGrande + 11 + 3100 + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 268 + {{101, 327}, {85, 19}} + + + YES + + -1804468671 + 272761856 + + + + YES + + YES + allowsFloats + formatterBehavior + locale + negativeInfinitySymbol + nilSymbol + numberStyle + positiveInfinitySymbol + + + YES + + + + + + -∞ + + + +∞ + + + #,##0.### + #,##0.### + + + + + + + + NaN + + YES + + YES + + + + + + 0 + 0 + YES + NO + 1 + AAAAAAAAAAAAAAAAAAAAAA + + + + 3 + YES + YES + YES + + . + , + YES + NO + YES + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 6 + System + textColor + + + + + + + 268 + {{56, 329}, {40, 14}} + + + YES + + 68288064 + 71435264 + Time: + + + + + + + + + 10 + {{0, 355}, {585, 5}} + + + {0, 0} + + 67239424 + 0 + Box + + LucidaGrande + 13 + 1044 + + + + 3 + MCAwLjgwMDAwMDAxMTkAA + + + 3 + 2 + 0 + NO + + + + 268 + {{11, 364}, {195, 25}} + + + YES + + 67239424 + 0 + + LucidaGrande + 13 + 16 + + + + YES + + World 1 + 1 + YES + 0 + + + 2 + 2 + 0 + + + 3 + 3 + 0 + + + 4 + 4 + 0 + + + 5 + 5 + 0 + + + 2 + + + + + 268 + {{11, 58}, {360, 120}} + + + IJInventoryView + + + + 268 + {{11, 10}, {360, 40}} + + + IJInventoryView + + + + 268 + {{11, 186}, {40, 160}} + + + IJInventoryView + + + + 265 + {{379, 327}, {195, 22}} + + + YES + + 343014976 + 268436544 + + + + YES + 1 + + + + 130560 + 0 + search + + _searchFieldSearch: + + 138690815 + 0 + + 400 + 75 + + + 130560 + 0 + clear + + YES + + YES + + YES + AXDescription + NSAccessibilityEncodedAttributesValueType + + + YES + cancel + + + + + + _searchFieldCancel: + + 138690815 + 0 + + 400 + 75 + + 255 + CAAAAA + + + + + 4369 + + YES + + + 2304 + + YES + + + 4352 + {193, 307} + + + YES + + + -2147483392 + {{191, 0}, {16, 17}} + + + YES + + itemId + 40 + 40 + 1000 + + 75628096 + 2048 + + + + 3 + MC4zMzMzMzI5ODU2AA + + + 6 + System + headerTextColor + + + + + 337772096 + -2080372736 + Text Cell + + + + YES + + YES + allowsFloats + formatterBehavior + locale + negativeInfinitySymbol + nilSymbol + positiveInfinitySymbol + + + YES + + + + -∞ + + +∞ + + + # + # + + + + + + + + NaN + + + + + + 3 + YES + YES + YES + + . + , + NO + NO + YES + + + + 6 + System + controlBackgroundColor + + + + + 3 + YES + + + + image + 32 + 10 + 3.4028234663852886e+38 + + 75628096 + 2048 + + + + 6 + System + headerColor + + + + + + 67239424 + 33554432 + + 0 + 0 + 0 + NO + + 3 + YES + + + + name + 112 + 40 + 1000 + + 75628096 + 2048 + + + + + + + 337772096 + 2048 + Text Cell + + + + + + 3 + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 17 + -767557632 + + + 4 + 15 + 0 + YES + 0 + + + {{1, 1}, {193, 307}} + + + + + 4 + + + + -2147483392 + {{191, 17}, {15, 365}} + + + + _doScroller: + 0.9974811083123426 + + + + -2147483392 + {{1, 382}, {190, 15}} + + 1 + + _doScroller: + 0.99514563106796117 + + + {{379, 10}, {195, 309}} + + + 562 + + + + QSAAAEEgAABBmAAAQZgAAA + + + {{7, 11}, {585, 396}} + + + {{0, 0}, {1440, 878}} + {1e+13, 1e+13} + MainWindow + + + InsideJobAppDelegate + + + NSFontManager + + + IJInventoryWindowController + + + + + YES + + + performMiniaturize: + + + + 37 + + + + arrangeInFront: + + + + 39 + + + + orderFrontStandardAboutPanel: + + + + 142 + + + + undo: + + + + 223 + + + + copy: + + + + 224 + + + + paste: + + + + 226 + + + + cut: + + + + 228 + + + + redo: + + + + 231 + + + + selectAll: + + + + 232 + + + + delete: + + + + 235 + + + + performZoom: + + + + 240 + + + + saveDocument: + + + + 362 + + + + revertDocumentToSaved: + + + + 364 + + + + runToolbarCustomizationPalette: + + + + 365 + + + + toggleToolbarShown: + + + + 366 + + + + hide: + + + + 367 + + + + hideOtherApplications: + + + + 368 + + + + unhideAllApplications: + + + + 370 + + + + terminate: + + + + 449 + + + + showHelp: + + + + 493 + + + + delegate + + + + 495 + + + + window + + + + 534 + + + + delegate + + + + 535 + + + + inventoryWindowController + + + + 590 + + + + statusTextField + + + + 593 + + + + worldSelectionControl + + + + 603 + + + + worldSelectionChanged: + + + + 604 + + + + value: worldTime + + + + + + value: worldTime + value + worldTime + 2 + + + 607 + + + + inventoryView + + + + 642 + + + + armorView + + + + 645 + + + + quickView + + + + 646 + + + + itemSearchField + + + + 659 + + + + itemTableView + + + + 660 + + + + dataSource + + + + 661 + + + + delegate + + + + 662 + + + + updateItemSearchFilter: + + + + 663 + + + + initialFirstResponder + + + + 668 + + + + makeSearchFieldFirstResponder: + + + + 670 + + + + menuSelectWorld: + + + + 680 + + + + menuSelectWorld: + + + + 681 + + + + menuSelectWorld: + + + + 682 + + + + menuSelectWorld: + + + + 683 + + + + menuSelectWorld: + + + + 684 + + + + delegate + + + + 685 + + + + menuSelectWorldFromPath: + + + + 694 + + + + + YES + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + -3 + + + Application + + + 29 + + + YES + + + + + + + + + + + 19 + + + YES + + + + + + 56 + + + YES + + + + + + 217 + + + YES + + + + + + 83 + + + YES + + + + + + 81 + + + YES + + + + + + + + 75 + + + + + 112 + + + + + 205 + + + YES + + + + + + + + + + + + + + + 202 + + + + + 198 + + + + + 207 + + + + + 199 + + + + + 203 + + + + + 197 + + + + + 206 + + + + + 215 + + + + + 57 + + + YES + + + + + + + + + + + + + + + + 58 + + + + + 134 + + + + + 150 + + + + + 136 + + + + + 144 + + + + + 129 + + + + + 143 + + + + + 236 + + + + + 131 + + + YES + + + + + + 149 + + + + + 145 + + + + + 130 + + + + + 24 + + + YES + + + + + + + + + 92 + + + + + 5 + + + + + 239 + + + + + 23 + + + + + 295 + + + YES + + + + + + 296 + + + YES + + + + + + + 297 + + + + + 298 + + + + + 371 + + + YES + + + + + + 372 + + + YES + + + + + + + + + + + + + + + 420 + + + + + 490 + + + YES + + + + + + 491 + + + YES + + + + + + 492 + + + + + 494 + + + + + 533 + + + + + 591 + + + YES + + + + + + 592 + + + + + 594 + + + YES + + + + + + 595 + + + YES + + + + + + 596 + + + + + 597 + + + YES + + + + + + 598 + + + + + 599 + + + + + 600 + + + YES + + + + + + 601 + + + + + 641 + + + YES + + + + + 643 + + + + + 644 + + + + + 647 + + + YES + + + + + + 648 + + + + + 649 + + + YES + + + + + + + + 650 + + + + + 651 + + + + + 652 + + + YES + + + + + + + + 654 + + + YES + + + + + + 655 + + + YES + + + + + + 656 + + + + + 657 + + + YES + + + + + + 658 + + + + + 665 + + + YES + + + + + + 667 + + + + + 669 + + + + + 671 + + + + + 672 + + + YES + + + + + + 673 + + + YES + + + + + + + + + + + + 674 + + + + + 676 + + + + + 677 + + + + + 678 + + + + + 679 + + + + + 692 + + + + + 693 + + + + + + + YES + + YES + -3.IBPluginDependency + 112.IBPluginDependency + 112.ImportedFromIB2 + 129.IBPluginDependency + 129.ImportedFromIB2 + 130.IBPluginDependency + 130.ImportedFromIB2 + 130.editorWindowContentRectSynchronizationRect + 131.IBPluginDependency + 131.ImportedFromIB2 + 134.IBPluginDependency + 134.ImportedFromIB2 + 136.IBPluginDependency + 136.ImportedFromIB2 + 143.IBPluginDependency + 143.ImportedFromIB2 + 144.IBPluginDependency + 144.ImportedFromIB2 + 145.IBPluginDependency + 145.ImportedFromIB2 + 149.IBPluginDependency + 149.ImportedFromIB2 + 150.IBPluginDependency + 150.ImportedFromIB2 + 19.IBPluginDependency + 19.ImportedFromIB2 + 197.IBPluginDependency + 197.ImportedFromIB2 + 198.IBPluginDependency + 198.ImportedFromIB2 + 199.IBPluginDependency + 199.ImportedFromIB2 + 202.IBPluginDependency + 202.ImportedFromIB2 + 203.IBPluginDependency + 203.ImportedFromIB2 + 205.IBEditorWindowLastContentRect + 205.IBPluginDependency + 205.ImportedFromIB2 + 205.editorWindowContentRectSynchronizationRect + 206.IBPluginDependency + 206.ImportedFromIB2 + 207.IBPluginDependency + 207.ImportedFromIB2 + 215.IBPluginDependency + 215.ImportedFromIB2 + 217.IBPluginDependency + 217.ImportedFromIB2 + 23.IBPluginDependency + 23.ImportedFromIB2 + 236.IBPluginDependency + 236.ImportedFromIB2 + 239.IBPluginDependency + 239.ImportedFromIB2 + 24.IBEditorWindowLastContentRect + 24.IBPluginDependency + 24.ImportedFromIB2 + 24.editorWindowContentRectSynchronizationRect + 29.IBEditorWindowLastContentRect + 29.IBPluginDependency + 29.ImportedFromIB2 + 29.WindowOrigin + 29.editorWindowContentRectSynchronizationRect + 295.IBPluginDependency + 296.IBEditorWindowLastContentRect + 296.IBPluginDependency + 296.editorWindowContentRectSynchronizationRect + 297.IBPluginDependency + 298.IBPluginDependency + 371.IBEditorWindowLastContentRect + 371.IBPluginDependency + 371.IBWindowTemplateEditedContentRect + 371.NSWindowTemplate.visibleAtLaunch + 371.editorWindowContentRectSynchronizationRect + 372.IBPluginDependency + 490.IBPluginDependency + 491.IBEditorWindowLastContentRect + 491.IBPluginDependency + 492.IBPluginDependency + 5.IBPluginDependency + 5.ImportedFromIB2 + 533.IBPluginDependency + 56.IBPluginDependency + 56.ImportedFromIB2 + 57.IBEditorWindowLastContentRect + 57.IBPluginDependency + 57.ImportedFromIB2 + 57.editorWindowContentRectSynchronizationRect + 58.IBPluginDependency + 58.ImportedFromIB2 + 591.IBPluginDependency + 591.IBViewBoundsToFrameTransform + 592.IBPluginDependency + 594.IBAttributePlaceholdersKey + 594.IBPluginDependency + 594.IBViewBoundsToFrameTransform + 595.IBPluginDependency + 596.IBNumberFormatterBehaviorMetadataKey + 596.IBNumberFormatterLocalizesFormatMetadataKey + 596.IBPluginDependency + 597.IBPluginDependency + 597.IBViewBoundsToFrameTransform + 598.IBPluginDependency + 599.IBPluginDependency + 600.IBPluginDependency + 600.IBViewBoundsToFrameTransform + 601.IBPluginDependency + 601.IBSegmentedControlInspectorSelectedSegmentMetadataKey + 641.IBPluginDependency + 641.IBViewBoundsToFrameTransform + 643.IBPluginDependency + 643.IBViewBoundsToFrameTransform + 644.IBPluginDependency + 644.IBViewBoundsToFrameTransform + 647.IBPluginDependency + 648.IBPluginDependency + 649.IBPluginDependency + 649.IBViewBoundsToFrameTransform + 650.IBPluginDependency + 651.IBPluginDependency + 652.CustomClassName + 652.IBPluginDependency + 654.IBPluginDependency + 655.IBPluginDependency + 656.IBPluginDependency + 657.IBPluginDependency + 658.IBNumberFormatterBehaviorMetadataKey + 658.IBNumberFormatterLocalizesFormatMetadataKey + 658.IBPluginDependency + 667.IBPluginDependency + 669.IBPluginDependency + 671.IBPluginDependency + 672.IBPluginDependency + 673.IBEditorWindowLastContentRect + 673.IBPluginDependency + 674.IBPluginDependency + 676.IBPluginDependency + 677.IBPluginDependency + 678.IBPluginDependency + 679.IBPluginDependency + 692.IBPluginDependency + 693.IBPluginDependency + 75.IBPluginDependency + 75.ImportedFromIB2 + 81.IBEditorWindowLastContentRect + 81.IBPluginDependency + 81.ImportedFromIB2 + 81.editorWindowContentRectSynchronizationRect + 83.IBPluginDependency + 83.ImportedFromIB2 + 92.IBPluginDependency + 92.ImportedFromIB2 + + + YES + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{436, 809}, {64, 6}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 653}, {160, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{187, 434}, {243, 243}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + {{619, 763}, {194, 73}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{525, 802}, {197, 73}} + {{380, 836}, {387, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + + {74, 862} + {{6, 978}, {478, 20}} + com.apple.InterfaceBuilder.CocoaPlugin + {{569, 793}, {231, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + {{475, 832}, {234, 43}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{114, 295}, {585, 396}} + com.apple.InterfaceBuilder.CocoaPlugin + {{114, 295}, {585, 396}} + + {{33, 99}, {480, 360}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{690, 813}, {169, 23}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{392, 653}, {203, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{23, 794}, {245, 183}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDOgAAw8SAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + 0-24,000. 0 is dawn, 12,000 is dusk. + + + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDMgAAw6wAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDBQAAw6qAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABDiYAAw82AAA + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + AUKcAABDFQAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + AUKcAABCygAAA + + com.apple.InterfaceBuilder.CocoaPlugin + + AUKcAABDioAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + P4AAAL+AAABEDUAAw8AAAA + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + IJTableView + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + {{661, 733}, {127, 103}} + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + {{483, 773}, {178, 63}} + com.apple.InterfaceBuilder.CocoaPlugin + + {{145, 474}, {199, 203}} + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + YES + + + + + + YES + + + + + 694 + + + + YES + + IJInventoryView + NSView + + IBProjectSource + ./Classes/IJInventoryView.h + + + + IJInventoryWindowController + NSWindowController + + YES + + YES + itemTableViewDoubleClicked: + makeSearchFieldFirstResponder: + menuSelectWorld: + menuSelectWorldFromPath: + updateItemSearchFilter: + worldSelectionChanged: + + + YES + id + id + id + id + id + id + + + + YES + + YES + itemTableViewDoubleClicked: + makeSearchFieldFirstResponder: + menuSelectWorld: + menuSelectWorldFromPath: + updateItemSearchFilter: + worldSelectionChanged: + + + YES + + itemTableViewDoubleClicked: + id + + + makeSearchFieldFirstResponder: + id + + + menuSelectWorld: + id + + + menuSelectWorldFromPath: + id + + + updateItemSearchFilter: + id + + + worldSelectionChanged: + id + + + + + YES + + YES + armorView + inventoryView + itemSearchField + itemTableView + quickView + statusTextField + worldSelectionControl + + + YES + IJInventoryView + IJInventoryView + NSSearchField + NSTableView + IJInventoryView + NSTextField + NSSegmentedControl + + + + YES + + YES + armorView + inventoryView + itemSearchField + itemTableView + quickView + statusTextField + worldSelectionControl + + + YES + + armorView + IJInventoryView + + + inventoryView + IJInventoryView + + + itemSearchField + NSSearchField + + + itemTableView + NSTableView + + + quickView + IJInventoryView + + + statusTextField + NSTextField + + + worldSelectionControl + NSSegmentedControl + + + + + IBProjectSource + ./Classes/IJInventoryWindowController.h + + + + IJTableView + NSTableView + + IBProjectSource + ./Classes/IJTableView.h + + + + InsideJobAppDelegate + NSObject + + inventoryWindowController + IJInventoryWindowController + + + inventoryWindowController + + inventoryWindowController + IJInventoryWindowController + + + + IBProjectSource + ./Classes/InsideJobAppDelegate.h + + + + NSDocument + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + id + id + id + id + id + id + + + + YES + + YES + printDocument: + revertDocumentToSaved: + runPageLayout: + saveDocument: + saveDocumentAs: + saveDocumentTo: + + + YES + + printDocument: + id + + + revertDocumentToSaved: + id + + + runPageLayout: + id + + + saveDocument: + id + + + saveDocumentAs: + id + + + saveDocumentTo: + id + + + + + IBProjectSource + ./Classes/NSDocument.h + + + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + + com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + NSMenuCheckmark + NSMenuMixedState + + + YES + {9, 8} + {7, 2} + + + +