   }
 
   # right-click to place block (etc.)
-  plugins.preload 'voxel-use', {}
+  plugins.add 'voxel-use', {}
 
   # handles 'break' event from voxel-mine (left-click hold breaks blocks), collects block and adds to inventory
-  plugins.preload 'voxel-harvest', {
+  plugins.add 'voxel-harvest', {
     playerInventory:playerInventory,
     block2ItemPile: (blockName) ->
       # TODO: use registry? more data-driven

  console.log 'initializing plugins'
  plugins = createPlugins game, {require: require}

  plugins.preload 'voxel-registry', {registerDefaults: (registry) ->
    registry.registerBlock 'grass', {texture: ['grass_top', 'dirt', 'grass_side'], hardness:5}
    registry.registerBlock 'dirt', {texture: 'dirt', hardness:4}
    registry.registerBlock 'stone', {texture: 'stone', hardness:90}

  }


  plugins.add 'craftingrecipes', {}

  playerInventory = new Inventory(10, 5)

  plugins.add 'voxel-workbench', {playerInventory:playerInventory}

  plugins.add 'voxel-land', {populateTrees: true}

  # note: preconfigure(), not add(), so doesn't automatically enable
  plugins.preconfigure 'voxel-oculus', { distortion: 0.2, separation: 0.5 } # TODO: switch to voxel-oculus-vr? https://github.com/vladikoff/voxel-oculus-vr?source=c - closer matches threejs example

  if window.location.href.indexOf('rift') != -1 ||  window.location.hash.indexOf('rift') != -1
