diff --git a/English.lproj/MainMenu.xib b/English.lproj/MainMenu.xib
index 263a136..e1eeda2 100644
--- a/English.lproj/MainMenu.xib
+++ b/English.lproj/MainMenu.xib
@@ -13,7 +13,7 @@
@@ -2431,6 +2550,14 @@
AppKit.framework/Headers/NSUserInterfaceItemSearching.h
+
+ NSBox
+ NSView
+
+ IBFrameworkSource
+ AppKit.framework/Headers/NSBox.h
+
+
NSBrowser
NSControl
@@ -2439,22 +2566,6 @@
AppKit.framework/Headers/NSBrowser.h
-
- NSButton
- NSControl
-
- IBFrameworkSource
- AppKit.framework/Headers/NSButton.h
-
-
-
- NSButtonCell
- NSActionCell
-
- IBFrameworkSource
- AppKit.framework/Headers/NSButtonCell.h
-
-
NSCell
NSObject
@@ -2586,14 +2697,6 @@
AppKit.framework/Headers/NSMenuItem.h
-
- NSMenuItemCell
- NSButtonCell
-
- IBFrameworkSource
- AppKit.framework/Headers/NSMenuItemCell.h
-
-
NSMovieView
NSView
@@ -2856,22 +2959,6 @@
NSTableView
-
- NSPopUpButton
- NSButton
-
- IBFrameworkSource
- AppKit.framework/Headers/NSPopUpButton.h
-
-
-
- NSPopUpButtonCell
- NSMenuItemCell
-
- IBFrameworkSource
- AppKit.framework/Headers/NSPopUpButtonCell.h
-
-
NSResponder
@@ -2903,6 +2990,22 @@
AppKit.framework/Headers/NSScroller.h
+
+ NSSegmentedCell
+ NSActionCell
+
+ IBFrameworkSource
+ AppKit.framework/Headers/NSSegmentedCell.h
+
+
+
+ NSSegmentedControl
+ NSControl
+
+ IBFrameworkSource
+ AppKit.framework/Headers/NSSegmentedControl.h
+
+
NSTableColumn
NSObject
diff --git a/IJInventoryWindowController.h b/IJInventoryWindowController.h
index 7c169fc..a8760ea 100644
--- a/IJInventoryWindowController.h
+++ b/IJInventoryWindowController.h
@@ -15,7 +15,7 @@
NSArray *inventory;
NSOutlineView *outlineView;
- NSPopUpButton *worldPopup;
+ NSSegmentedControl *worldSelectionControl;
NSTextField *statusTextField;
NSArray *rootItems;
@@ -28,9 +28,11 @@
}
@property (nonatomic, assign) IBOutlet NSOutlineView *outlineView;
-@property (nonatomic, assign) IBOutlet NSPopUpButton *worldPopup;
+@property (nonatomic, assign) IBOutlet NSSegmentedControl *worldSelectionControl;
@property (nonatomic, assign) IBOutlet NSTextField *statusTextField;
+@property (nonatomic, retain) NSNumber *worldTime;
+
- (IBAction)worldSelectionChanged:(id)sender;
@end
diff --git a/IJInventoryWindowController.m b/IJInventoryWindowController.m
index 7bd3eda..8efbe25 100644
--- a/IJInventoryWindowController.m
+++ b/IJInventoryWindowController.m
@@ -14,7 +14,7 @@
@implementation IJInventoryWindowController
@synthesize outlineView;
-@synthesize worldPopup;
+@synthesize worldSelectionControl;
@synthesize statusTextField;
- (void)awakeFromNib
@@ -62,10 +62,14 @@
return;
}
+ [self willChangeValueForKey:@"worldTime"];
+
[level release];
level = [[IJMinecraftLevel nbtContainerWithData:fileData] retain];
inventory = [[level inventory] retain];
+ [self didChangeValueForKey:@"worldTime"];
+
// Add placeholder inventory items:
for (int i = 0; i < IJInventorySlotQuickLast + 1 - IJInventorySlotQuickFirst; i++)
@@ -157,13 +161,13 @@
- (IBAction)worldSelectionChanged:(id)sender
{
- int worldIndex = [[worldPopup selectedItem] tag];
+ int worldIndex = [worldSelectionControl selectedSegment] + 1;
[self loadWorldAtIndex:worldIndex];
}
- (void)saveDocument:(id)sender
{
- int worldIndex = [[worldPopup selectedItem] tag];
+ int worldIndex = [worldSelectionControl selectedSegment] + 1;
[self saveToWorldAtIndex:worldIndex];
}
@@ -186,6 +190,18 @@
return YES;
}
+- (NSNumber *)worldTime
+{
+ return [level worldTimeContainer].numberValue;
+}
+- (void)setWorldTime:(NSNumber *)number
+{
+ [self willChangeValueForKey:@"worldTime"];
+ [level worldTimeContainer].numberValue = number;
+ [self didChangeValueForKey:@"worldTime"];
+ [self markDirty];
+}
+
#pragma mark -
#pragma mark Inventory Outline View
diff --git a/IJItemPickerWindowController.h b/IJItemPickerWindowController.h
index 99000a2..5e2a7a8 100644
--- a/IJItemPickerWindowController.h
+++ b/IJItemPickerWindowController.h
@@ -11,11 +11,13 @@
@interface IJItemPickerWindowController : NSWindowController {
void(^completionBlock)(uint16_t itemId);
+ NSSearchField *searchField;
NSTableView *tableView;
NSArray *allItemIds;
NSArray *filteredItemIds;
}
@property (nonatomic, assign) IBOutlet NSTableView *tableView;
+@property (nonatomic, assign) IBOutlet NSSearchField *searchField;
+ (IJItemPickerWindowController *)sharedController;
diff --git a/IJItemPickerWindowController.m b/IJItemPickerWindowController.m
index 7b46835..cae1c52 100644
--- a/IJItemPickerWindowController.m
+++ b/IJItemPickerWindowController.m
@@ -11,7 +11,7 @@
@implementation IJItemPickerWindowController
-@synthesize tableView;
+@synthesize tableView, searchField;
+ (IJItemPickerWindowController *)sharedController
{
@@ -38,6 +38,8 @@
{
[self showWindow:nil];
+ [searchField becomeFirstResponder];
+
[completionBlock autorelease];
completionBlock = [theBlock copy];
diff --git a/IJMinecraftLevel.h b/IJMinecraftLevel.h
index 7e4e2d4..9ff66a4 100644
--- a/IJMinecraftLevel.h
+++ b/IJMinecraftLevel.h
@@ -14,6 +14,7 @@
}
@property (nonatomic, copy) NSArray *inventory; // Array of IJInventoryItem objects.
+@property (nonatomic, readonly) NBTContainer *worldTimeContainer;
+ (NSString *)pathForWorldAtIndex:(int)worldIndex;
+ (NSString *)pathForLevelDatAtIndex:(int)worldIndex;
diff --git a/IJMinecraftLevel.m b/IJMinecraftLevel.m
index 1ae8cf6..d2a310a 100644
--- a/IJMinecraftLevel.m
+++ b/IJMinecraftLevel.m
@@ -69,6 +69,11 @@
inventoryList.children = newChildren;
}
+- (NBTContainer *)worldTimeContainer
+{
+ return [[self childNamed:@"Data"] childNamed:@"Time"];
+}
+
#pragma mark -
#pragma mark Helpers
diff --git a/ItemPicker.xib b/ItemPicker.xib
index da878cb..fa21856 100644
--- a/ItemPicker.xib
+++ b/ItemPicker.xib
@@ -175,7 +175,7 @@
3
MC4zMzMzMzI5ODU2AA
-
+
6
System
headerTextColor
@@ -203,7 +203,7 @@
YES
-
+
name
191
10
@@ -219,9 +219,9 @@
headerColor
-
+
-
+
337772096
2048
Text Cell
@@ -378,6 +378,14 @@
24
+
+
+ searchField
+
+
+
+ 28
+
@@ -466,7 +474,7 @@
YES
-
+
@@ -486,17 +494,17 @@
26
-
+
YES
-
+
27
-
-
+
+
@@ -551,7 +559,7 @@
- 27
+ 28
@@ -592,14 +600,35 @@
- tableView
- NSTableView
+ YES
+
+ YES
+ searchField
+ tableView
+
+
+ YES
+ NSSearchField
+ NSTableView
+
- tableView
-
- tableView
- NSTableView
+ YES
+
+ YES
+ searchField
+ tableView
+
+
+ YES
+
+ searchField
+ NSSearchField
+
+
+ tableView
+ NSTableView
+