MineCraft Keybind

Rebinds the MineFun.io controls for easier use by MineCraft players

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey, Greasemonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

You will need to install an extension such as Tampermonkey to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey किंवा Violentmonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला Tampermonkey यासारखे एक्स्टेंशन इंस्टॉल करावे लागेल..

ही स्क्रिप्ट इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्क्रिप्ट व्यवस्थापक एक्स्टेंशन इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्क्रिप्ट व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

Advertisement:

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला Stylus सारखे एक्स्टेंशन इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

ही स्टाईल इंस्टॉल करण्यासाठी तुम्हाला एक युझर स्टाईल व्यवस्थापक इंस्टॉल करावे लागेल.

(माझ्याकडे आधीच युझर स्टाईल व्यवस्थापक आहे, मला इंस्टॉल करू द्या!)

Advertisement:

// ==UserScript==
// @name         MineCraft Keybind
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Rebinds the MineFun.io controls for easier use by MineCraft players
// @author  Qwerty Matthew
// @license  MIT
// @match        https://minefun.io/*
// @match        https://*.minefun.io/*
// @run-at       document-start
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    function remapKey(e) {
        // Leave the keys alone if you're typing in chat
        if (document.activeElement.tagName === 'INPUT' || document.activeElement.tagName === 'TEXTAREA') return;

        // 1. CROUCH: Left Shift triggers 'C'.
        if (e.code === 'ShiftLeft') {
            Object.defineProperty(e, 'code', { value: 'KeyC' });
        }
        // DISABLE ORIGINAL C: If you press physical C, stop it from triggering crouch
        else if (e.code === 'KeyC') {
            e.preventDefault();
            e.stopPropagation();
            Object.defineProperty(e, 'code', { value: 'None' });
        }

        // 2. SPRINT: Right Option / Alt (right of spacebar) triggers 'ShiftLeft'
        else if (e.code === 'AltRight') {
            Object.defineProperty(e, 'code', { value: 'ShiftLeft' });
        }

        // 3. INVENTORY: 'E' triggers 'X'.
        else if (e.code === 'KeyE') {
            Object.defineProperty(e, 'code', { value: 'KeyX' });
        }
        // DISABLE ORIGINAL X: If you press physical X, stop it from opening inventory
        else if (e.code === 'KeyX') {
            e.preventDefault();
            e.stopPropagation();
            Object.defineProperty(e, 'code', { value: 'None' });
        }
    }

    // Capture everything instantly on the way down and up
    window.addEventListener('keydown', remapKey, true);
    window.addEventListener('keyup', remapKey, true);

})();