Edit (2024): You no longer need to follow this guide! Just use PrismLauncher.
.
.
.
.
Edit (2024): You no longer need to follow this guide! Just use PrismLauncher.
.
.
.
.
- (UIImage *)dynamicImage | |
{ | |
UITraitCollection *const baseTraitCollection = /* an existing trait collection */; | |
UITraitCollection *const lightTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleLight]]]; | |
UITraitCollection *const purelyDarkTraitCollection = [UITraitCollection traitCollectionWithUserInterfaceStyle:UIUserInterfaceStyleDark]; | |
UITraitCollection *const darkTraitCollection = [UITraitCollection traitCollectionWithTraitsFromCollections:@[baseTraitCollection, purelyDarkTraitCollection]]; | |
__block UIImage *lightImage; | |
[lightTraitCollection performAsCurrentTraitCollection:^{ | |
lightImage = /* draw image */; |
// Douglas Hill, December 2018 | |
// Made for https://douglashill.co/reading-app/ | |
// Find the latest version of this file at https://github.com/douglashill/KeyboardKit | |
import UIKit | |
/// A table view that allows navigation and selection using a hardware keyboard. | |
/// Only supports a single section. | |
class KeyboardTableView: UITableView { | |
// These properties may be set or overridden to provide discoverability titles for key commands. |
To use media keys on the Ducky One 2 Skyline, you must record a macro to bind the media function to a hotkey combination, i.e. Fn
plus some key.
Important: In the instructions below, "Press X+Y+Z
" means press and hold key X
, press and hold key Y
, press and hold key Z
in that order, and then release all three.
As an example, to bind Fn+PgUp
to the play/pause media function:
// UICollectionView Objective-C example | |
- (void)viewWillAppear:(BOOL)animated { | |
[super viewWillAppear:animated]; | |
NSIndexPath *selectedIndexPath = [[self.collectionView indexPathsForSelectedItems] firstObject]; | |
if (selectedIndexPath != nil) { | |
id<UIViewControllerTransitionCoordinator> coordinator = self.transitionCoordinator; | |
if (coordinator != nil) { | |
[coordinator animateAlongsideTransition:^(id<UIViewControllerTransitionCoordinatorContext> context) { |
Since Twitter doesn't have an edit button, it's a suitable host for JavaScript modules.
Source tweet: https://twitter.com/rauchg/status/712799807073419264
const leftPad = await requireFromTwitter('712799807073419264');
1. Setting up the environment - git, Gradle and base mod file. | |
2. My first things - an exploration of Items, Blocks, ItemBlocks (mebbe), and recipes | |
3. More interesting blocks - blocks that do things - redstone interactions, crops, maybe a simple fluid/block, things like that. | |
4. Witchcraft - advanced items - looking at the different ways to get items to do stuff, maybe make some tools and weapons? custom food? | |
5. Intro to Events - what can they do for me? | |
6. Configs - letting users have their way with your precious creation | |
7. Inventories and basic tile entities | |
8. Packets and preventing sync issues | |
9. Guis and Containers - when, how and why to use them. | |
10. Custom recipes (both crafting and machine) and NEI integration |
//The lib can obviously be used from Java too | |
//Add jcenter repository (it's actually the gradle default) | |
//compile "uk.co.rx14.jmclaunchlib:jMCLaunchLib:0.2.3" | |
def instance = MCInstance.createForge( | |
"1.7.10", //Minecraft Version | |
"1.7.10-10.13.3.1408-1.7.10", //Forge version | |
"test/instance", //Caches directory | |
"test/launch", //Run directory | |
NullSupplier.INSTANCE //Credentials supplier (Supplier<Credential>) |
# gradle | |
/.gradle | |
/build | |
# eclipse | |
/eclipse | |
/.settings | |
/.metdata | |
/.classpath | |
/.project |