provide more delays for minecraft

This commit is contained in:
Henry Gabryjelski 2021-08-20 11:59:06 -07:00
parent 494b9905fc
commit da36ebd360
3 changed files with 189 additions and 160 deletions

View file

@ -9,7 +9,7 @@ from adafruit_hid.keycode import Keycode # REQUIRED if using Keycode.* values
# NOTE: There appears to be some delay when bringing up the command screen. # NOTE: There appears to be some delay when bringing up the command screen.
DELAY_AFTER_SLASH = 0.80 # required so minecraft has time to bring up command screen DELAY_AFTER_SLASH = 0.80 # required so minecraft has time to bring up command screen
DELAY_BEFORE_RETURN = 0.10
# NOTE: On PC, characters are sometimes lost due to lag. No simple fix for # NOTE: On PC, characters are sometimes lost due to lag. No simple fix for
# lost keystrokes is known. However, the commands do work most of the time. # lost keystrokes is known. However, the commands do work most of the time.
@ -23,15 +23,15 @@ app = { # REQUIRED dict, must be named 'app'
(0x000020, 'list', [ (0x000020, 'list', [
'/', DELAY_AFTER_SLASH, '/', DELAY_AFTER_SLASH,
'list', 'list',
Keycode.RETURN, -Keycode.RETURN]), DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
(0x000020, 'list', [ (0x000020, 'list', [
'/', DELAY_AFTER_SLASH, '/', DELAY_AFTER_SLASH,
'list', 'list',
Keycode.RETURN, -Keycode.RETURN]), DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
(0x000020, 'list', [ (0x000020, 'list', [
'/', DELAY_AFTER_SLASH, '/', DELAY_AFTER_SLASH,
'list', 'list',
Keycode.RETURN, -Keycode.RETURN]), DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
# 2nd row ---------- # 2nd row ----------
(0x000000, '', []), (0x000000, '', []),
(0x000000, '', []), (0x000000, '', []),
@ -44,15 +44,15 @@ app = { # REQUIRED dict, must be named 'app'
(0x101010, 'bed', [ (0x101010, 'bed', [
'/', DELAY_AFTER_SLASH, '/', DELAY_AFTER_SLASH,
'msg @a Time for bed!', 'msg @a Time for bed!',
Keycode.RETURN, -Keycode.RETURN]), DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
(0x101010, 'bed', [ (0x101010, 'bed', [
'/', DELAY_AFTER_SLASH, '/', DELAY_AFTER_SLASH,
'msg @a Time for bed!', 'msg @a Time for bed!',
Keycode.RETURN, -Keycode.RETURN]), DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
(0x101010, 'bed', [ (0x101010, 'bed', [
'/', DELAY_AFTER_SLASH, '/', DELAY_AFTER_SLASH,
'msg @a Time for bed!', 'msg @a Time for bed!',
Keycode.RETURN, -Keycode.RETURN]), DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
# Encoder button --- # Encoder button ---
(0x000000, '', []) (0x000000, '', [])
] ]

View file

@ -8,7 +8,8 @@ from adafruit_hid.keycode import Keycode # REQUIRED if using Keycode.* values
# See https://minecraft.fandom.com/wiki/Effect # See https://minecraft.fandom.com/wiki/Effect
DELAY_AFTER_ESCAPE = 0.05 DELAY_AFTER_SLASH = 0.80 # required so minecraft has time to bring up command screen
DELAY_BEFORE_RETURN = 0.10 # give minecraft time to show all the keys pressed...
app = { # REQUIRED dict, must be named 'app' app = { # REQUIRED dict, must be named 'app'
'name' : 'Minecraft PE (effect)', # Application name 'name' : 'Minecraft PE (effect)', # Application name
@ -20,73 +21,60 @@ app = { # REQUIRED dict, must be named 'app'
# COLOR LABEL KEY SEQUENCE # COLOR LABEL KEY SEQUENCE
# 1st row ---------- # 1st row ----------
(0x002000, 'speed', [ (0x002000, 'speed', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s speed 999999999 1 true', 'effect @s speed 999999999 1 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x002000, 'str', [ (0x002000, 'str', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s strength 999999999 1 true', 'effect @s strength 999999999 1 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x002000, 'haste', [ (0x002000, 'haste', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s haste 999999999 1 true', 'effect @s haste 999999999 1 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
# 2nd row ---------- # 2nd row ----------
(0x002000, 'jump', [ (0x002000, 'jump', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s jump_boost 999999999 1 true', 'effect @s jump_boost 999999999 1 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x000030, 'breath', [ (0x000030, 'breath', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s water_breathing 999999999 0 true', 'effect @s water_breathing 999999999 0 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x202020, 'darkv', [ (0x202020, 'darkv', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s night_vision 999999999 0 true', 'effect @s night_vision 999999999 0 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
# 3rd row ---------- # 3rd row ----------
(0x300000, 'health', [ (0x300000, 'health', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s health_boost 999999999 4 true', 'effect @s health_boost 999999999 4 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x300000, 'regen', [ (0x300000, 'regen', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s regeneration 999999999 4 true', 'effect @s regeneration 999999999 4 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x002000, 'absorb', [ (0x002000, 'absorb', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s absorption 999999999 3 true', 'effect @s absorption 999999999 3 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
# 4th row --------- # 4th row ---------
(0x002000, 'resist', [ (0x002000, 'resist', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s resistance 999999999 3 true', 'effect @s resistance 999999999 3 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x101010, 'invis', [ (0x101010, 'invis', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s invisibility 999999999 0 true', 'effect @s invisibility 999999999 0 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
(0x300000, 'fire_r', [ (0x300000, 'fire_r', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s fire_resistance 999999999 0 true', 'effect @s fire_resistance 999999999 0 true',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
# Encoder button --- Remove all status effects.... # Encoder button --- Remove all status effects....
(0x000000, '', [ (0x000000, '', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/effect @s clear', 'effect @s clear',
Keycode.RETURN, -Keycode.RETURN, DELAY_BEFORE_RETURN, Keycode.RETURN, -Keycode.RETURN]),
Keycode.ESCAPE, -Keycode.ESCAPE]),
] ]
} }

View file

@ -17,199 +17,240 @@ from adafruit_hid.keycode import Keycode # REQUIRED if using Keycode.* values
from adafruit_hid.keycode import Keycode # REQUIRED if using Keycode.* values from adafruit_hid.keycode import Keycode # REQUIRED if using Keycode.* values
DELAY_AFTER_ESCAPE = 0.05
DELAY_AFTER_COMMAND = 0.10 DELAY_AFTER_COMMAND = 0.10
DELAY_AFTER_SLASH = 0.80 # required so minecraft has time to bring up command screen
CONFIGURABLE_KEY_EQUIP_CURRENTLY_HELD_ITEM = 'E'
app = { app = {
'name': 'Minecraft PE (equip)', 'name': 'Minecraft PE (equip)',
'macros': [ 'macros': [
(0x003000, 'helm', [ (0x003000, 'helm', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_helmet', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_helmet',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s protection 4', '/', DELAY_AFTER_SLASH,
'enchant @s protection 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s respiration 3', '/', DELAY_AFTER_SLASH,
'enchant @s respiration 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s aqua_affinity 1', '/', DELAY_AFTER_SLASH,
'enchant @s aqua_affinity 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, CONFIGURABLE_KEY_EQUIP_CURRENTLY_HELD_ITEM]),
'E']),
(0x003000, 'plate', [ (0x003000, 'plate', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_chestplate', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_chestplate',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s protection 4', '/', DELAY_AFTER_SLASH,
'enchant @s protection 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, CONFIGURABLE_KEY_EQUIP_CURRENTLY_HELD_ITEM]),
'E']),
(0x003000, 'legs', [ (0x003000, 'legs', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_leggings', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_leggings',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s protection 4', '/', DELAY_AFTER_SLASH,
'enchant @s protection 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, CONFIGURABLE_KEY_EQUIP_CURRENTLY_HELD_ITEM]),
'E']),
(0x003000, 'boots', [ (0x003000, 'boots', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_boots', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_boots',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s protection 4', '/', DELAY_AFTER_SLASH,
'enchant @s protection 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s feather_falling 4', '/', DELAY_AFTER_SLASH,
'enchant @s feather_falling 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s depth_strider 3', '/', DELAY_AFTER_SLASH,
'enchant @s depth_strider 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s soul_speed 3', '/', DELAY_AFTER_SLASH,
'enchant @s soul_speed 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, CONFIGURABLE_KEY_EQUIP_CURRENTLY_HELD_ITEM]),
'E']),
(0x003000, 'frosty', [ (0x003000, 'frosty', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_boots', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_boots',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s protection 4', '/', DELAY_AFTER_SLASH,
'enchant @s protection 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s feather_falling 4', '/', DELAY_AFTER_SLASH,
'enchant @s feather_falling 4',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s frost_walker 2', '/', DELAY_AFTER_SLASH,
'enchant @s frost_walker 2',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s soul_speed 3', '/', DELAY_AFTER_SLASH,
'enchant @s soul_speed 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, CONFIGURABLE_KEY_EQUIP_CURRENTLY_HELD_ITEM]),
'E']),
(0x300000, 'feedme', [ (0x300000, 'feedme', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_sword', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_sword',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s fire_aspect 2', '/', DELAY_AFTER_SLASH,
'enchant @s fire_aspect 2',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s knockback 2', '/', DELAY_AFTER_SLASH,
'enchant @s knockback 2',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s looting 3', '/', DELAY_AFTER_SLASH,
'enchant @s looting 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s sharpness 5', '/', DELAY_AFTER_SLASH,
'enchant @s sharpness 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
(0x300000, 'excal', [ (0x300000, 'excal', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_sword', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_sword',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s fire_aspect 2', '/', DELAY_AFTER_SLASH,
'enchant @s fire_aspect 2',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s knockback 2', '/', DELAY_AFTER_SLASH,
'enchant @s knockback 2',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s looting 3', '/', DELAY_AFTER_SLASH,
'enchant @s looting 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s sharpness 5', '/', DELAY_AFTER_SLASH,
'enchant @s sharpness 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
(0x300000, 'trident', [ (0x300000, 'trident', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy trident', 'replaceitem entity @s slot.weapon.mainhand 0 destroy trident',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', 'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s loyalty 3', 'enchant @s loyalty 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s channeling 1', 'enchant @s channeling 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s riptide 3', 'enchant @s riptide 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s impaling 5', 'enchant @s impaling 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', 'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
(0x300000, 'bow', [ (0x300000, 'bow', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy bow', 'replaceitem entity @s slot.weapon.mainhand 0 destroy bow',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s power 5', '/', DELAY_AFTER_SLASH,
'enchant @s power 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s punch 2', '/', DELAY_AFTER_SLASH,
'enchant @s punch 2',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
(0x000030, 'silky', [ (0x000030, 'silky', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_pickaxe', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_pickaxe',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s efficiency 5', '/', DELAY_AFTER_SLASH,
'enchant @s efficiency 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s silk_touch 1', '/', DELAY_AFTER_SLASH,
'enchant @s silk_touch 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
(0x000030, 'pickme', [ (0x000030, 'pickme', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_pickaxe', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_pickaxe',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s efficiency 5', '/', DELAY_AFTER_SLASH,
'enchant @s efficiency 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s fortune 3', '/', DELAY_AFTER_SLASH,
'enchant @s fortune 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
(0x000030, 'axe', [ (0x000030, 'axe', [
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE, '/', DELAY_AFTER_SLASH,
'/replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_axe', 'replaceitem entity @s slot.weapon.mainhand 0 destroy netherite_axe',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s mending 1', '/', DELAY_AFTER_SLASH,
'enchant @s mending 1',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s fortune 3', '/', DELAY_AFTER_SLASH,
'enchant @s fortune 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s efficiency 5', '/', DELAY_AFTER_SLASH,
'enchant @s efficiency 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s sharpness 5', '/', DELAY_AFTER_SLASH,
'enchant @s sharpness 5',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
'/enchant @s unbreaking 3', '/', DELAY_AFTER_SLASH,
'enchant @s unbreaking 3',
Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND, Keycode.RETURN, -Keycode.RETURN, DELAY_AFTER_COMMAND,
Keycode.ESCAPE, -Keycode.ESCAPE, DELAY_AFTER_ESCAPE,
Keycode.PAGE_UP, -Keycode.PAGE_UP]), Keycode.PAGE_UP, -Keycode.PAGE_UP]),
] ]
} }