The complete migration from `minecraft-assets` to [`mc-assets`](https://npmjs.com/mc-assets). Now all block states & block models are processed dynamically! So it is now easily possible to implement custom models - no post-install work anymore: the building is now 3x faster and 4x faster in docker - drop 10x total deploy size - display world ~1.5x faster - fix snow & repeater state parser (they didn't render correctly) rsbuild pipeline! - the initial app load is faster ~1.2 - much fewer requests are made & cached - dev reloads are fast now Resource pack changes: - now textures are reloaded much more quickly on the fly - add hotkey to quickly reload textures (for debugging) assigned to F3+T (open dev widget is now assigned to F3+Y) - add a way to disable resource pack instead of uninstalling it - items render from resource pack are now support - resource pack widgets & icons are now supported
22 lines
813 B
TypeScript
22 lines
813 B
TypeScript
import { createContext, useState } from 'react'
|
|
import { contro, updateBinds } from '../controls'
|
|
import KeybindingsScreen from './KeybindingsScreen'
|
|
import { useIsModalActive } from './utilsApp'
|
|
|
|
const bindingActions = {
|
|
updateBinds
|
|
}
|
|
|
|
export const BindingActionsContext = createContext(bindingActions)
|
|
|
|
export default () => {
|
|
const [bindActions, setBindActions] = useState(bindingActions)
|
|
const isModalActive = useIsModalActive('keybindings')
|
|
|
|
if (!isModalActive) return null
|
|
|
|
const hasPsGamepad = [...(navigator.getGamepads?.() ?? [])].some(gp => gp?.id.match(/playstation|dualsense|dualshock/i)) // todo: use last used gamepad detection
|
|
return <BindingActionsContext.Provider value={bindActions}>
|
|
<KeybindingsScreen isPS={hasPsGamepad} contro={contro} />
|
|
</BindingActionsContext.Provider>
|
|
}
|