Leehan020816 (토론 | 기여) 편집 요약 없음 |
Minejango2 (토론 | 기여) 잔글편집 요약 없음 |
||
(사용자 5명의 중간 판 28개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
local coloredDyes = { |
local coloredDyes = { |
||
− | 'Orange Dye', 'Magenta Dye', 'Light Blue Dye', ' |
+ | 'Orange Dye', 'Magenta Dye', 'Light Blue Dye', 'Yellow Dye', 'Lime Dye', |
'Pink Dye', 'Gray Dye', 'Light Gray Dye', 'Cyan Dye', 'Purple Dye', |
'Pink Dye', 'Gray Dye', 'Light Gray Dye', 'Cyan Dye', 'Purple Dye', |
||
− | ' |
+ | 'Blue Dye', 'Brown Dye', 'Green Dye', |
+ | 'Red Dye', 'Black Dye', |
||
} |
} |
||
local aliases = { |
local aliases = { |
||
− | -- All Tools (WIP) (Credits: User: TheWoodenWizard) -- |
||
− | ['Wooden Sword'] = { title = '나무 검', name = 'Wooden Sword', text = '/&7주로 사용하는 손에 있을 때:/ &71.6 공격 속도/ &74 공격 피해' }, |
||
− | ['Stone Sword'] = { title = '돌 검', name = 'Stone Sword', text = '/&7주로 사용하는 손에 있을 때:/ &71.6 공격 속도/ &75 공격 피해' }, |
||
− | ['Iron Sword'] = { title = '철 검', name = 'Iron Sword', text = '/&7주로 사용하는 손에 있을 때:/ &71.6 공격 속도/ &76 공격 피해' }, |
||
− | ['Golden Sword'] = { title = '금 검', name = 'Golden Sword', text = '/&7주로 사용하는 손에 있을 때:/ &71.6 공격 속도/ &74 공격 피해' }, |
||
− | ['Diamond Sword'] = { title = '다이아몬드 검', name = 'Diamond Sword', text = '/&7주로 사용하는 손에 있을 때:/ &71.6 공격 속도/ &77 공격 피해' }, |
||
− | ['Wooden Pickaxe'] = { title = '나무 곡괭이', name = 'Wooden Pickaxe', text = '/&7주로 사용하는 손에 있을 때:/ &71.2 공격 속도/ &72 공격 피해' }, |
||
− | ['Stone Pickaxe'] = { title = '돌 곡괭이', name = 'Stone Pickaxe', text = '/&7주로 사용하는 손에 있을 때:/ &71.2 공격 속도/ &73 공격 피해' }, |
||
− | ['Iron Pickaxe'] = { title = '철 곡괭이', name = 'Iron Pickaxe', text = '/&7주로 사용하는 손에 있을 때:/ &71.2 공격 속도/ &74 공격 피해' }, |
||
− | ['Golden Pickaxe'] = { title = '금 곡괭이', name = 'Golden Pickaxe', text = '/&7주로 사용하는 손에 있을 때:/ &71.2 공격 속도/ &72 공격 피해' }, |
||
− | ['Diamond Pickaxe'] = { title = '다이아몬드 곡괭이', name = 'Diamond Pickaxe', text = '/&7주로 사용하는 손에 있을 때:/ &71.2 공격 속도/ &75 공격 피해' }, |
||
− | ['Wooden Axe'] = { title = '나무 도끼', name = 'Wooden Axe', text = '/&7주로 사용하는 손에 있을 때:/ &70.8 공격 속도/ &77 공격 피해' }, |
||
− | ['Stone Axe'] = { title = '돌 도끼', name = 'Stone Axe', text = '/&7주로 사용하는 손에 있을 때:/ &70.8 공격 속도/ &79 공격 피해' }, |
||
− | ['Iron Axe'] = { title = '철 도끼', name = 'Iron Axe', text = '/&7주로 사용하는 손에 있을 때:/ &70.9 공격 속도/ &79 공격 피해' }, |
||
− | ['Golden Axe'] = { title = '금 도끼', name = 'Golden Axe', text = '/&7주로 사용하는 손에 있을 때:/ &71.0 공격 속도/ &77 공격 피해' }, |
||
− | ['Diamond Axe'] = { title = '다이아몬드 도끼', name = 'Diamond Axe', text = '/&7주로 사용하는 손에 있을 때:/ &71.0 공격 속도/ &79 공격 피해' }, |
||
− | |||
-- Common fuel types for furnace -- |
-- Common fuel types for furnace -- |
||
− | ['Any fuel'] = { 'Coal', 'Charcoal', { title = ' |
+ | ['Any fuel'] = { 'Coal', 'Charcoal', { title = '원목', name = 'Oak Log' }, { title = '나무 판자', name = 'Oak Planks' }, 'Block of Coal' }, |
− | ['Any golden tools'] = { 'Golden Pickaxe', 'Golden Axe', 'Golden Shovel', 'Golden Hoe' }, |
||
− | ['Any wooden tools'] = { 'Wooden Pickaxe', 'Wooden Axe', 'Wooden Shovel', 'Wooden Hoe' }, |
||
− | ['Any stone tools'] = { 'Stone Pickaxe', 'Stone Axe', 'Stone Shovel', 'Stone Hoe' }, |
||
− | ['Any iron tools'] = { 'Iron Pickaxe', 'Iron Axe', 'Iron Shovel', 'Iron Hoe' }, |
||
− | ['Any diamond tools'] = { 'Diamond Pickaxe', 'Diamond Axe', 'Diamond Shovel', 'Diamond Hoe' }, |
||
['Any leather armor'] = { 'Leather Cap', 'Leather Tunic', 'Leather Pants', 'Leather Boots' }, |
['Any leather armor'] = { 'Leather Cap', 'Leather Tunic', 'Leather Pants', 'Leather Boots' }, |
||
['Any golden armor'] = { 'Golden Helmet', 'Golden Chestplate', 'Golden Leggings', 'Golden Boots' }, |
['Any golden armor'] = { 'Golden Helmet', 'Golden Chestplate', 'Golden Leggings', 'Golden Boots' }, |
||
− | ['Any |
+ | ['Any chainmail armor'] = { 'Chainmail Helmet', 'Chainmail Chestplate', 'Chainmail Leggings', 'Chainmail Boots' }, |
['Any iron armor'] = { 'Iron Helmet', 'Iron Chestplate', 'Iron Leggings', 'Iron Boots' }, |
['Any iron armor'] = { 'Iron Helmet', 'Iron Chestplate', 'Iron Leggings', 'Iron Boots' }, |
||
['Any diamond armor'] = { 'Diamond Helmet', 'Diamond Chestplate', 'Diamond Leggings', 'Diamond Boots' }, |
['Any diamond armor'] = { 'Diamond Helmet', 'Diamond Chestplate', 'Diamond Leggings', 'Diamond Boots' }, |
||
+ | ['Any netherite armor'] = { 'Netherite Helmet', 'Netherite Chestplate', 'Netherite Leggings', 'Netherite Boots' }, |
||
− | |||
+ | |||
+ | -- stones -- |
||
+ | ['Any Cobblestone or Blackstone'] = { 'Cobblestone', 'Blackstone' }, |
||
+ | |||
-- Display names -- |
-- Display names -- |
||
− | + | ['Broken Elytra'] = { title = '&e겉날개', name = 'Broken Elytra' }, |
|
− | [' |
+ | ['Clay (block)'] = { title = '점토', name = 'Clay (block)' }, --remove on Nether Update's release if bedrock also changes the item name |
− | [' |
+ | ['Clay (ball)'] = { title = '점토', name = 'Clay (ball)' }, --remove on Nether Update's release if bedrock also changes the item name |
− | + | ['Banner Pattern Flower'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7꽃 모양'}, |
|
− | [' |
+ | ['Banner Pattern Flower Charge'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7꽃 모양'}, |
− | [' |
+ | ['Banner Pattern Creeper Charge'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7크리퍼 모양'}, |
− | + | ['Banner Pattern Creeper'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7크리퍼 모양'}, |
|
− | [' |
+ | ['Banner Pattern Bordure Indented'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7크리퍼 모양'}, |
− | [' |
+ | ['Banner Pattern Field Masoned'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7벽돌 무늬'}, |
− | + | ['Banner Pattern Skull Charge'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7머리 모양'}, |
|
− | [' |
+ | ['Banner Pattern Skull'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7머리 모양'}, |
− | [' |
+ | ['Banner Pattern Thing'] = { title = '&d현수막 무늬', name = 'Banner Pattern', text = '&7무언가'}, |
− | + | ['Banner Pattern Mojang'] = { title = '&d현수막 무늬', name = 'Banner Pattern', text = '&7무언가'}, |
|
− | [' |
+ | ['Banner Pattern Globe'] = { title = '&d현수막 무늬', name = 'Banner Pattern', text = '&7지구 모양'}, |
− | [' |
+ | ['Banner Pattern Snout'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7돼지코'}, |
+ | ['Banner Pattern Piglin'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7돼지코'}, |
||
− | -- Pocket Edition display names -- |
||
+ | ['Button'] = { title = '버튼', name = 'Stone Button'}, |
||
+ | ['Wooden Button'] = { title = '버튼', name = 'Oak Button'}, |
||
+ | ['Arrow Loaded Crossbow'] = { title = '쇠뇌', name = 'Arrow Loaded Crossbow' }, |
||
+ | ['Damaged Arrow Loaded Crossbow'] = { title = '쇠뇌', name = 'Damaged Arrow Loaded Crossbow' }, |
||
+ | ['Firework Loaded Crossbow'] = { title = '쇠뇌', name = 'Firework Loaded Crossbow' }, |
||
+ | ['Damaged Firework Loaded Crossbow'] = { title = '쇠뇌', name = 'Damaged Firework Loaded Crossbow' }, |
||
+ | ['Illager Banner'] = { title = '&6&o불길한 현수막', name = 'Illager Banner', text = |
||
+ | '&7청록색 마름모/&7회백색 아래쪽 가로띠/&7회색 중앙 세로띠/&7회백색 테두리/&7검은색 중앙 가로띠/&7회백색 중앙 가로선 상부'}, |
||
+ | ['Jigsaw Block'] = { title = '&d직소 블록', name = 'Jigsaw Block' }, |
||
+ | ['Half Filled Bundle'] = { title = 'Bundle', name = 'Half Filled Bundle' }, |
||
+ | ['Filled Bundle'] = { title = 'Bundle', name = 'Filled Bundle' }, |
||
+ | |||
+ | -- Weapons -- |
||
+ | ['Trident'] = { name = 'Trident', text = '/&7다른 손에 있을 때:/ &2 공격 속도 1.1/ &2 공격 피해 9'}, |
||
+ | ['Trident BE'] = { name = 'Trident', text = '/&9 +8 공격 피해'}, |
||
+ | |||
+ | -- Bedrock and Education Edition display names -- |
||
['Elytra Wings'] = { title = '겉날개', name = 'Elytra' }, |
['Elytra Wings'] = { title = '겉날개', name = 'Elytra' }, |
||
['Cooked Beef'] = { title = '스테이크', name = 'Steak' }, |
['Cooked Beef'] = { title = '스테이크', name = 'Steak' }, |
||
+ | ['Map (no markers)'] = { title = '지도', name = 'Map', text = '위치 정보:&c아니오' }, |
||
+ | ['Locator Map'] = { title = '지도', name = 'Map', text = '위치 정보:&a예' }, |
||
− | -- |
+ | -- Chemistry -- |
− | + | ['Lead (element)'] = { title = '납', name = 'Lead (element)' }, |
|
− | ['Water |
+ | ['Water (compound)'] = { title = '물', name = 'Water (compound)' }, |
+ | ['Chloride'] = { 'Calcium Chloride', 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' }, |
||
− | ['Thick Potion'] = { name = 'Thick Potion', text = '&7효과 없음' }, |
||
− | [' |
+ | ['Sparkler'] = { 'Orange Sparkler', 'Blue Sparkler', 'Red Sparkler', 'Purple Sparkler', 'Green Sparkler' }, |
− | [' |
+ | ['Matching Chloride'] = { 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' }, |
− | [' |
+ | ['Matching Colored Torch'] = { 'Blue Torch', 'Red Torch', 'Purple Torch', 'Green Torch' }, |
+ | ['Matching Glow Stick'] = { 'White Glow Stick', 'Orange Glow Stick', 'Magenta Glow Stick', 'Light Blue Glow Stick', |
||
− | ['Splash Water Bottle'] = { name = 'Splash Water Bottle', text = '&7효과 없음' }, |
||
+ | 'Yellow Glow Stick', 'Lime Glow Stick', 'Pink Glow Stick', 'Gray Glow Stick', 'Cyan Glow Stick', |
||
− | ['Thick Splash Potion'] = { name = 'Thick Splash Potion', text = '&7효과 없음' }, |
||
+ | 'Purple Glow Stick', 'Blue Glow Stick', 'Brown Glow Stick', 'Green Glow Stick', 'Red Glow Stick' }, |
||
− | ['Mundane Splash Potion'] = { name = 'Mundane Splash Potion', text = '&7효과 없음' }, |
||
+ | } |
||
− | ['Uncraftable Splash Potion'] = { name = 'Uncraftable Splash Potion', text = '&7효과 없음' }, |
||
− | ['Awkward Lingering Potion'] = { name = 'Awkward Lingering Potion', text = '&7효과 없음' }, |
||
− | ['Lingering Water Bottle'] = { name = 'Lingering Water Bottle', text = '&7효과 없음' }, |
||
− | ['Thick Lingering Potion'] = { name = 'Thick Lingering Potion', text = '&7효과 없음' }, |
||
− | ['Mundane Lingering Potion'] = { name = 'Mundane Lingering Potion', text = '&7효과 없음' }, |
||
− | ['Uncraftable Lingering Potion'] = { name = 'Uncraftable Lingering Potion', text = '&7효과 없음' }, |
||
− | ['Tipped Arrow'] = { name = 'Tipped Arrow', text = '&7효과 없음' }, |
||
− | ['Arrow of Splashing'] = { name = 'Arrow of Splashing', text = '&7효과 없음' }, |
||
− | ['Uncraftable Tipped Arrow'] = { name = 'Uncraftable Tipped Arrow', text = '&7효과 없음' }, |
||
+ | local Autolink = require( '모듈:Autolink' ) |
||
− | ['Potion of Night Vision Extended'] = { name = 'Potion of Night Vision', text = '&9야간 투시 (8:00)' }, |
||
− | ['Splash Potion of Night Vision Extended'] = { name = 'Splash Potion of Night Vision', text = '&9야간 투시 (8:00)' }, |
||
− | ['Lingering Potion of Night Vision Extended'] = { name = 'Lingering Potion of Night Vision', text = '&9야간 투시 (2:00)' }, |
||
− | ['Arrow of Night Vision Extended'] = { name = 'Arrow of Night Vision', text = '&9야간 투시 (1:00)' }, |
||
− | ['Potion of Night Vision'] = { name = 'Potion of Night Vision', text = '&9야간 투시 (3:00)' }, |
||
− | ['Splash Potion of Night Vision'] = { name = 'Splash Potion of Night Vision', text = '&9야간 투시 (3:00)' }, |
||
− | ['Lingering Potion of Night Vision'] = { name = 'Lingering Potion of Night Vision', text = '&9야간 투시 (0:45)' }, |
||
− | ['Arrow of Night Vision'] = { name = 'Arrow of Night Vision', text = '&9야간 투시 (0:22)' }, |
||
+ | -- Tooltip colors -- |
||
− | ['Potion of Decay'] = { name = 'Potion of Decay', text = '&c凋零 II (0:40)' }, |
||
+ | local yellowTooltips = { |
||
− | ['Splash Potion of Decay'] = { name = 'Splash Potion of Decay', text = '&c凋零 II (0:30)' }, |
||
+ | 'Creeper Head', |
||
− | ['Lingering Potion of Decay'] = { name = 'Lingering Potion of Decay', text = '&c凋零 II (0:10)' }, |
||
+ | 'Damaged Elytra', |
||
− | ['Arrow of Decay'] = { name = 'Arrow of Decay', text = '&c凋零 II (0:05)' }, |
||
+ | 'Dragon Head', |
||
+ | 'Dragon\'s Breath', |
||
+ | 'Elytra', |
||
+ | 'Head', |
||
+ | 'Heart of the Sea', |
||
+ | 'Player Head', |
||
+ | 'Skeleton Skull', |
||
+ | 'Totem of Undying', |
||
+ | 'Wither Skeleton Skull', |
||
+ | 'Zombie Head', |
||
} |
} |
||
+ | for _, name in ipairs( yellowTooltips ) do |
||
+ | aliases[name] = { title = '&e' .. Autolink.invlink(name, 'nolink'), name = name } |
||
+ | end |
||
+ | |||
+ | local aquaTooltips = { |
||
+ | 'Beacon', |
||
+ | 'Conduit', |
||
+ | 'Golden Apple', |
||
+ | } |
||
+ | for _, name in ipairs( aquaTooltips ) do |
||
+ | aliases[name] = { title = '&b' .. Autolink.invlink(name, 'nolink'), name = name } |
||
+ | end |
||
+ | |||
+ | local lightPurpleTooltips = { |
||
+ | 'Dragon Egg', |
||
+ | 'Structure Block', |
||
+ | } |
||
+ | for _, name in ipairs( lightPurpleTooltips ) do |
||
+ | aliases[name] = { title = '&d' .. Autolink.invlink(name, 'nolink'), name = name } |
||
+ | end |
||
+ | |||
+ | local orangeItalicTooltips = { |
||
+ | 'Ominous Banner', |
||
+ | } |
||
+ | for _, name in ipairs( orangeItalicTooltips ) do |
||
+ | aliases[name] = { title = '&6&o', name = name } |
||
+ | end |
||
+ | |||
+ | -- Animated icons -- |
||
+ | local animatedIcons = { |
||
+ | 'Bubble Column', |
||
+ | 'Compass', |
||
+ | 'Clock', |
||
+ | 'Crimson Hyphae', |
||
+ | 'Crimson Stem', |
||
+ | 'Debug Stick', |
||
+ | 'Fire', |
||
+ | 'Heat Block', |
||
+ | 'Lava', |
||
+ | 'Lodestone Compass', |
||
+ | 'Magma Block', |
||
+ | 'Nether Portal', |
||
+ | 'Prismarine', |
||
+ | 'Prismarine Slab', |
||
+ | 'Prismarine Stairs', |
||
+ | 'Prismarine Wall', |
||
+ | 'Sea Lantern', |
||
+ | 'Stonecutter', |
||
+ | 'Soul Fire', |
||
+ | 'Sculk Sensor', |
||
+ | 'Warped Hyphae', |
||
+ | 'Warped Stem', |
||
+ | 'Water', |
||
+ | 'Written Book' |
||
+ | } |
||
+ | for _, icon in ipairs( animatedIcons ) do |
||
+ | aliases[icon] = icon .. '.gif' |
||
+ | end |
||
+ | |||
+ | -- Some things are both animated and yellow -- |
||
+ | local animatedIconsYellowTooltips = { |
||
+ | 'Enchanted Book', |
||
+ | 'Nether Star', |
||
+ | 'Bottle o\' Enchanting', |
||
+ | } |
||
+ | for _, name in ipairs( animatedIconsYellowTooltips ) do |
||
+ | aliases[name] = { title = '&e', name = name .. '.gif' } |
||
+ | end |
||
+ | |||
+ | -- Some things are both animated and aqua -- |
||
+ | local animatedIconsAquaTooltips = { |
||
+ | 'End Crystal', |
||
+ | } |
||
+ | for _, name in ipairs( animatedIconsAquaTooltips ) do |
||
+ | aliases[name] = { title = '&b', name = name .. '.gif' } |
||
+ | end |
||
+ | |||
+ | -- Some things are both animated and purple -- |
||
+ | local animatedIconsPurpleTooltips = { |
||
+ | 'Command Block', |
||
+ | 'Chain Command Block', |
||
+ | 'Repeating Command Block', |
||
+ | 'Enchanted Golden Apple', |
||
+ | } |
||
+ | for _, name in ipairs( animatedIconsPurpleTooltips ) do |
||
+ | aliases[name] = { title = '&d' .. Autolink.invlink(name, 'nolink'), name = name .. '.gif' } |
||
+ | end |
||
+ | |||
+ | -- Bedrock Edition Items -- |
||
+ | local animatedEditionItems = { |
||
+ | BE = { |
||
+ | 'Lodestone Compass', |
||
+ | }, |
||
+ | LCE = { |
||
+ | |||
+ | } |
||
+ | } |
||
+ | for edition, items in pairs(animatedEditionItems) do |
||
+ | for _, item in ipairs(items) do |
||
+ | local name = item .. ' ' .. edition |
||
+ | aliases[name] = { title = item, name = name .. '.gif' } |
||
+ | end |
||
+ | end |
||
+ | |||
+ | -- Tools and weapons -- |
||
+ | local tools = { |
||
+ | {'Wooden', 'Sword', 1.6, 4, '나무 검' }, |
||
+ | {'Stone', 'Sword', 1.6, 5, '돌 검' }, |
||
+ | {'Iron', 'Sword', 1.6, 6, '철 검' }, |
||
+ | {'Golden', 'Sword', 1.6, 4, '황금 검' }, |
||
+ | {'Diamond', 'Sword', 1.6, 7, '다이아몬드 검' }, |
||
+ | {'Netherite', 'Sword', 1.6, 8, '네더라이트 검' }, |
||
+ | |||
+ | {'Wooden', 'Pickaxe', 1.2, 2, '나무 곡괭이' }, |
||
+ | {'Stone', 'Pickaxe', 1.2, 3, '돌 곡괭이' }, |
||
+ | {'Iron', 'Pickaxe', 1.2, 4, '철 곡괭이' }, |
||
+ | {'Golden', 'Pickaxe', 1.2, 2, '황금 곡괭이' }, |
||
+ | {'Diamond', 'Pickaxe', 1.2, 5, '다이아몬드 곡괭이' }, |
||
+ | {'Netherite', 'Pickaxe', 1.2, 6, '네더라이트 곡괭이' }, |
||
+ | |||
+ | {'Wooden', 'Axe', 0.8, 7, '나무 도끼' }, |
||
+ | {'Stone', 'Axe', 0.8, 9, '돌 도끼' }, |
||
+ | {'Iron', 'Axe', 0.9, 9, '철 도끼' }, |
||
+ | {'Golden', 'Axe', 1, 7, '황금 도끼' }, |
||
+ | {'Diamond', 'Axe', 1, 9, '다이아몬드 도끼' }, |
||
+ | {'Netherite', 'Axe', 1, 9, '네더라이트 도끼' }, |
||
+ | |||
+ | {'Wooden', 'Shovel', 1, 2.5, '나무 삽' }, |
||
+ | {'Stone', 'Shovel', 1, 3.5, '돌 삽' }, |
||
+ | {'Iron', 'Shovel', 1, 4.5, '철 삽' }, |
||
+ | {'Golden', 'Shovel', 1, 2.5, '황금 삽' }, |
||
+ | {'Diamond', 'Shovel', 1, 5.5, '다이아몬드 삽' }, |
||
+ | {'Netherite', 'Shovel', 1.6, 6.5, '네더라이트 삽' }, |
||
+ | |||
+ | {'Wooden', 'Hoe', 1, 1, '나무 괭이' }, |
||
+ | {'Stone', 'Hoe', 2, 1, '돌 괭이' }, |
||
+ | {'Iron', 'Hoe', 3, 1, '철 괭이' }, |
||
+ | {'Golden', 'Hoe', 1, 1, '황금 괭이' }, |
||
+ | {'Diamond', 'Hoe', 4, 1, '다이아몬드 괭이' }, |
||
+ | {'Netherite', 'Hoe', 4, 1, '네더라이트 괭이' } |
||
+ | } |
||
+ | |||
+ | local materialGroups = {} |
||
+ | local toolGroups = {} |
||
+ | |||
+ | for _, toolProps in ipairs( tools ) do |
||
+ | local aliasName = toolProps[1] .. ' ' .. toolProps[2] |
||
+ | aliases[aliasName] = { title = toolProps[5], name = aliasName, text = '/&7주로 사용하는 손에 있을 때:/ &2 공격 속도 ' .. toolProps[3] .. '/ &2 공격 피해 ' .. toolProps[4] } |
||
+ | |||
+ | local materialGroup = toolProps[1]:lower(); |
||
+ | local toolGroup = toolProps[2]:lower(); |
||
+ | |||
+ | if toolProps[2] ~= 'Sword' then |
||
+ | if materialGroups[materialGroup] == nil then materialGroups[materialGroup] = {} end |
||
+ | table.insert( materialGroups[materialGroup], aliases[aliasName] ) |
||
+ | end |
||
+ | if toolGroups[toolGroup] == nil then toolGroups[toolGroup] = {} end |
||
+ | table.insert( toolGroups[toolGroup], aliases[aliasName] ) |
||
+ | end |
||
+ | |||
+ | for materialGroup, items in pairs( materialGroups ) do |
||
+ | aliases['Any ' .. materialGroup .. ' tools'] = items |
||
+ | end |
||
+ | |||
+ | for toolGroup, items in pairs( toolGroups ) do |
||
+ | aliases['Any ' .. toolGroup] = items |
||
+ | end |
||
+ | |||
+ | -- Tools and weapons in Bedrock Edition -- |
||
+ | local toolsBE = { |
||
+ | {'Wooden', 'Sword', 4, '나무 검' }, |
||
+ | {'Stone', 'Sword', 5, '돌 검' }, |
||
+ | {'Iron', 'Sword', 6, '철 검' }, |
||
+ | {'Golden', 'Sword', 4, '황금 검' }, |
||
+ | {'Diamond', 'Sword', 7, '다이아몬드 검' }, |
||
+ | {'Netherite', 'Sword', 8, '네더라이트 검' }, |
||
+ | |||
+ | {'Wooden', 'Pickaxe', 2, '나무 곡괭이' }, |
||
+ | {'Stone', 'Pickaxe', 3, '돌 곡괭이' }, |
||
+ | {'Iron', 'Pickaxe', 4, '철 곡괭이' }, |
||
+ | {'Golden', 'Pickaxe', 2, '황금 곡괭이' }, |
||
+ | {'Diamond', 'Pickaxe', 5, '다이아몬드 곡괭이' }, |
||
+ | {'Netherite', 'Pickaxe', 6, '네더라이트 곡괭이' }, |
||
+ | |||
+ | {'Wooden', 'Axe', 3, '나무 도끼' }, |
||
+ | {'Stone', 'Axe', 4, '돌 도끼' }, |
||
+ | {'Iron', 'Axe', 5, '철 도끼' }, |
||
+ | {'Golden', 'Axe', 3, '황금 도끼' }, |
||
+ | {'Diamond', 'Axe', 6, '다이아몬드 도끼' }, |
||
+ | {'Netherite', 'Axe', 7, '네더라이트 도끼' }, |
||
+ | |||
+ | {'Wooden', 'Shovel', 1, '나무 삽' }, |
||
+ | {'Stone', 'Shovel', 2, '돌 삽' }, |
||
+ | {'Iron', 'Shovel', 3, '철 삽' }, |
||
+ | {'Golden', 'Shovel', 1, '황금 삽' }, |
||
+ | {'Diamond', 'Shovel', 4, '다이아몬드 삽' }, |
||
+ | {'Netherite', 'Shovel', 5, '네더라이트 삽' }, |
||
+ | |||
+ | {'Wooden', 'Hoe', 2, '나무 괭이' }, |
||
+ | {'Stone', 'Hoe', 3, '돌 괭이' }, |
||
+ | {'Iron', 'Hoe', 4, '철 괭이' }, |
||
+ | {'Golden', 'Hoe', 2, '황금 괭이' }, |
||
+ | {'Diamond', 'Hoe', 5, '다이아몬드 괭이' }, |
||
+ | {'Netherite', 'Hoe', 6, '네더라이트 괭이' } |
||
+ | } |
||
+ | |||
+ | for _, toolProps in ipairs( toolsBE ) do |
||
+ | local aliasName = toolProps[1] .. ' ' .. toolProps[2] |
||
+ | aliases[aliasName .. ' BE'] = { title = toolProps[4], name = aliasName, text = '/&9+' .. toolProps[3] .. ' 공격 피해'} |
||
+ | end |
||
-- Lists of item variants -- |
-- Lists of item variants -- |
||
98번째 줄: | 305번째 줄: | ||
'Pink Wool', 'Gray Wool', 'Light Gray Wool', 'Cyan Wool', 'Purple Wool', |
'Pink Wool', 'Gray Wool', 'Light Gray Wool', 'Cyan Wool', 'Purple Wool', |
||
'Blue Wool', 'Brown Wool', 'Green Wool', 'Red Wool', 'Black Wool', |
'Blue Wool', 'Brown Wool', 'Green Wool', 'Red Wool', 'Black Wool', |
||
+ | }, |
||
+ | ['Dyed Bed'] = { |
||
+ | 'Orange Bed', 'Magenta Bed', 'Light Blue Bed', 'Yellow Bed', 'Lime Bed', |
||
+ | 'Pink Bed', 'Gray Bed', 'Light Gray Bed', 'Cyan Bed', 'Purple Bed', |
||
+ | 'Blue Bed', 'Brown Bed', 'Green Bed', 'Red Bed', 'Black Bed', |
||
+ | }, |
||
+ | ['Dyed Carpet'] = { |
||
+ | 'Orange Carpet', 'Magenta Carpet', 'Light Blue Carpet', 'Yellow Carpet', 'Lime Carpet', |
||
+ | 'Pink Carpet', 'Gray Carpet', 'Light Gray Carpet', 'Cyan Carpet', 'Purple Carpet', |
||
+ | 'Blue Carpet', 'Brown Carpet', 'Green Carpet', 'Red Carpet', 'Black Carpet', |
||
}, |
}, |
||
['Dyed Terracotta'] = { |
['Dyed Terracotta'] = { |
||
− | 'White Terracotta', 'Orange Terracotta', 'Magenta Terracotta', 'Light Blue |
+ | 'White Terracotta', 'Orange Terracotta', 'Magenta Terracotta', 'Light Blue Terracotta', |
− | ' |
+ | 'Yellow Terracotta', 'Lime Terracotta', 'Pink Terracotta', 'Gray Terracotta', |
− | ' |
+ | 'Light Gray Terracotta', 'Cyan Terracotta', 'Purple Terracotta', 'Blue Terracotta', |
+ | 'Brown Terracotta', 'Green Terracotta', 'Red Terracotta', 'Black Terracotta', |
||
+ | }, |
||
+ | ['Dyed Candle'] = { |
||
+ | 'White Candle', 'Orange Candle', 'Magenta Candle', 'Light Blue Candle', |
||
+ | 'Yellow Candle', 'Lime Candle', 'Pink Candle', 'Gray Candle', |
||
+ | 'Light Gray Candle', 'Cyan Candle', 'Purple Candle', 'Blue Candle', |
||
+ | 'Brown Candle', 'Green Candle', 'Red Candle', 'Black Candle', |
||
}, |
}, |
||
+ | ['Flower'] = { 'Oxeye Daisy', 'Cornflower', 'Lily of the Valley', 'Wither Rose', 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip', 'Azure Bluet', 'Allium', 'Blue Orchid', 'Poppy', 'Dandelion' }, |
||
− | ['Mushroom'] = { { title = '버섯', name = 'Red Mushroom' }, { title = '버섯', name = 'Brown Mushroom' } }, |
||
− | [' |
+ | ['Mushroom'] = { 'Red Mushroom', 'Brown Mushroom' }, |
− | [' |
+ | ['Quartz Block'] = { 'Block of Quartz', 'Chiseled Quartz Block', 'Quartz Pillar' }, |
− | ['Sandstone'] = { 'Sandstone', 'Chiseled Sandstone', 'Smooth Sandstone' }, |
+ | ['Red Sandstone'] = { 'Red Sandstone', 'Cut Red Sandstone', 'Chiseled Red Sandstone', 'Smooth Red Sandstone' }, |
+ | ['Sandstone'] = { 'Sandstone', 'Cut Sandstone', 'Chiseled Sandstone', 'Smooth Sandstone' }, |
||
['Stone Bricks'] = { 'Stone Bricks', 'Mossy Stone Bricks', 'Cracked Stone Bricks', 'Chiseled Stone Bricks' }, |
['Stone Bricks'] = { 'Stone Bricks', 'Mossy Stone Bricks', 'Cracked Stone Bricks', 'Chiseled Stone Bricks' }, |
||
− | ['Stone Slab'] = { 'Stone Slab', ' |
+ | ['Stone Slab'] = { 'Stone Slab', 'Smooth Stone Slab', 'Cobblestone Slab', 'Mossy Cobblestone Slab', 'Stone Brick Slab', 'Mossy Stone Brick Slab', 'Andesite Slab', 'Polished Andesite Slab', |
+ | 'Diorite Slab', 'Polished Diorite Slab', 'Granite Slab', 'Polished Granite Slab', 'Sandstone Slab', 'Cut Sandstone Slab', 'Smooth Sandstone Slab', 'Red Sandstone Slab', 'Cut Red Sandstone Slab', |
||
+ | 'Smooth Red Sandstone Slab', 'Brick Slab', { title = 'Prismarine Slab', name = 'Prismarine Slab.gif' }, 'Prismarine Brick Slab', 'Dark Prismarine Slab', 'Nether Brick Slab', 'Red Nether Brick Slab', 'Quartz Slab', |
||
+ | 'Smooth Quartz Slab', 'Purpur Slab', 'End Stone Brick Slab', 'Petrified Oak Slab', 'Blackstone Slab', 'Polished Blackstone Slab', 'Polished Blackstone Brick Slab' }, |
||
+ | ['Stone Stairs'] = { 'Stone Stairs', 'Cobblestone Stairs', 'Mossy Cobblestone Stairs', 'Stone Brick Stairs', 'Mossy Stone Brick Stairs', 'Andesite Stairs', 'Polished Andesite Stairs', |
||
+ | 'Diorite Stairs', 'Polished Diorite Stairs', 'Granite Stairs', 'Polished Granite Stairs', 'Sandstone Stairs', 'Smooth Sandstone Stairs', 'Red Sandstone Stairs', 'Smooth Red Sandstone Stairs', |
||
+ | 'Brick Stairs', { title = 'Prismarine Stairs', name = 'Prismarine Stairs.gif' }, 'Prismarine Brick Stairs', 'Dark Prismarine Stairs', 'Nether Brick Stairs', 'Red Nether Brick Stairs', 'Quartz Stairs', 'Smooth Quartz Stairs', 'Purpur Stairs', |
||
+ | 'End Stone Brick Stairs', 'Blackstone Stairs', 'Polished Blackstone Stairs', 'Polished Blackstone Brick Stairs' }, |
||
['Purpur Block'] = { 'Purpur Block', 'Purpur Pillar' }, |
['Purpur Block'] = { 'Purpur Block', 'Purpur Pillar' }, |
||
['Stone'] = { 'Stone', 'Andesite', 'Granite', 'Diorite', 'Polished Andesite', 'Polished Granite', 'Polished Diorite' }, |
['Stone'] = { 'Stone', 'Andesite', 'Granite', 'Diorite', 'Polished Andesite', 'Polished Granite', 'Polished Diorite' }, |
||
+ | ['Tulip'] = { 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip' }, |
||
+ | ['Prismarine'] = { { title = 'Prismarine', name = 'Prismarine.gif' }, 'Prismarine Bricks', 'Dark Prismarine' }, |
||
+ | ['Ore'] = { 'Coal Ore', 'Iron Ore', 'Gold Ore', 'Lapis Lazuli Ore', 'Redstone Ore', 'Emerald Ore', 'Diamond Ore', 'Nether Quartz Ore', 'Nether Gold Ore' }, |
||
+ | ['Dead Coral Block'] = { 'Dead Tube Coral Block', 'Dead Brain Coral Block', 'Dead Bubble Coral Block', 'Dead Fire Coral Block', 'Dead Horn Coral Block' }, |
||
+ | ['Coral Block'] = { 'Tube Coral Block', 'Brain Coral Block', 'Bubble Coral Block', 'Fire Coral Block', 'Horn Coral Block' }, |
||
+ | ['Dead Coral'] = { 'Dead Tube Coral', 'Dead Brain Coral', 'Dead Bubble Coral', 'Dead Fire Coral', 'Dead Horn Coral' }, |
||
+ | ['Dead Coral Fan'] = { 'Dead Tube Coral Fan', 'Dead Brain Coral Fan', 'Dead Bubble Coral Fan', 'Dead Fire Coral Fan', 'Dead Horn Coral Fan' }, |
||
+ | ['Coral'] = { 'Tube Coral', 'Brain Coral', 'Bubble Coral', 'Fire Coral', 'Horn Coral' }, |
||
+ | ['Coral Fan'] = { 'Tube Coral Fan', 'Brain Coral Fan', 'Bubble Coral Fan', 'Fire Coral Fan', 'Horn Coral Fan' }, |
||
+ | ['Wall'] = { 'Cobblestone Wall', 'Mossy Cobblestone Wall', 'Stone Brick Wall', 'Mossy Stone Brick Wall', 'Andesite Wall', 'Diorite Wall', 'Granite Wall', 'Sandstone Wall', |
||
+ | 'Red Sandstone Wall', 'Brick Wall', { title = 'Prismarine Wall', name = 'Prismarine Wall.gif' }, 'Nether Brick Wall', 'Red Nether Brick Wall', 'End Stone Brick Wall', 'Blackstone Wall', 'Polished Blackstone Wall', |
||
+ | 'Polished Blackstone Brick Wall' }, |
||
+ | ['Torch'] = { 'Torch', 'Soul Torch' }, |
||
+ | ['Lantern'] = { 'Lantern', 'Soul Lantern' }, |
||
+ | ['Fungus'] = { 'Crimson Fungus', 'Warped Fungus' }, |
||
+ | ['Fungi'] = { 'Crimson Fungus', 'Warped Fungus' }, |
||
+ | ['Roots'] = { 'Crimson Roots', 'Warped Roots' }, |
||
+ | ['Nylium'] = { 'Crimson Nylium', 'Warped Nylium' }, |
||
+ | ['Soul Sand'] = { 'Soul Sand', 'Soul Soil' }, |
||
+ | ['Campfire'] = { 'Campfire', 'Soul Campfire' }, |
||
+ | ['Blackstone'] = { 'Blackstone', 'Polished Blackstone', 'Chiseled Polished Blackstone', 'Polished Blackstone Bricks', 'Cracked Polished Blackstone Bricks' }, |
||
+ | ['Stone Button'] = { 'Stone Button', 'Polished Blackstone Button' }, |
||
+ | ['Stone Pressure Plate'] = { 'Stone Pressure Plate', 'Polished Blackstone Pressure Plate' }, |
||
+ | ['Nether Wood Pressure Plate'] = { 'Crimson Pressure Plate', 'Warped Pressure Plate' }, |
||
+ | ['Nether Wood Fence'] = { 'Crimson Fence', 'Warped Fence' }, |
||
+ | ['Nether Wood Trapdoor'] = { 'Crimson Trapdoor', 'Warped Trapdoor' }, |
||
+ | ['Nether Wood Fence Gate'] = { 'Crimson Fence Gate', 'Warped Fence Gate' }, |
||
+ | ['Nether Wood Stairs'] = { 'Crimson Stairs', 'Warped Stairs' }, |
||
+ | ['Nether Wood Door'] = { 'Crimson Door', 'Warped Door' }, |
||
+ | ['Nether Wood Sign'] = { 'Crimson Sign', 'Warped Sign' }, |
||
} |
} |
||
− | table.insert( itemVariants['Dye'], 1, ' |
+ | table.insert( itemVariants['Dye'], 1, 'White Dye' ) |
for aliasName, aliasItems in pairs( itemVariants ) do |
for aliasName, aliasItems in pairs( itemVariants ) do |
||
aliases['Any ' .. aliasName] = aliasItems |
aliases['Any ' .. aliasName] = aliasItems |
||
119번째 줄: | 381번째 줄: | ||
end |
end |
||
− | -- |
+ | -- Copper -- |
− | local |
+ | local copperstuff = { |
+ | ['Matching (Weathered) Copper Block'] = {'Copper Block', 'Lightly Weathered Copper Block', 'Semi-Weathered Copper Block', 'Weathered Copper BlocK'}, |
||
− | 'Command Block', |
||
+ | ['Matching (Weathered) Cut Copper'] = {'Cut Copper', 'Lightly Weathered Cut Copper', 'Semi-Weathered Cut Copper', 'Weathered Cut Copper'}, |
||
− | 'Chain Command Block', |
||
+ | ['Matching Waxed (Weathered) Copper Block'] = {'Waxed Copper Block', 'Waxed Lightly Weathered Copper Block', 'Waxed Semi-Weathered Copper Block'}, |
||
− | 'Repeating Command Block', |
||
+ | ['Matching Waxed (Weathered) Cut Copper'] = {'Waxed Cut Copper', 'Waxed Lightly Weathered Cut Copper', 'Waxed Semi-Weathered Cut Copper'}, |
||
− | 'Fire', |
||
− | 'Magma Block', |
||
− | 'Prismarine', |
||
− | 'Sea Lantern', |
||
} |
} |
||
+ | local function map(tbl, f) |
||
− | for _, icon in ipairs( animatedIcons ) do |
||
+ | local t = {} |
||
− | aliases[icon] = icon .. '.gif' |
||
+ | for k,v in pairs(tbl) do |
||
+ | t[k] = f(v) |
||
+ | end |
||
+ | return t |
||
+ | end |
||
+ | for k, v in pairs(copperstuff) do |
||
+ | aliases[k] = v |
||
+ | local k1 = k:gsub(' Block$', '') |
||
+ | local v1 = map(v, function(s) return s:gsub(' Block$', '') end) |
||
+ | aliases[k1 .. 'Slab'] = map(v1, function(s) return s .. 'Slab' end) |
||
+ | aliases[k1 .. 'Stairs'] = map(v1, function(s) return s .. 'Stairs' end) |
||
end |
end |
||
-- Discs -- |
-- Discs -- |
||
+ | local discs = { |
||
− | local discs = { '13', 'cat', 'blocks', 'chirp', 'far', 'mall', 'mellohi', 'stal', 'strad', 'ward', '11', 'wait' } |
||
+ | { '13', 'C418', }, |
||
+ | { 'Cat', 'C418', 'cat' }, |
||
+ | { 'Blocks', 'C418', 'blocks' }, |
||
+ | { 'Chirp', 'C418', 'chirp' }, |
||
+ | { 'Far', 'C418', 'far' }, |
||
+ | { 'Mall', 'C418', 'mall' }, |
||
+ | { 'Mellohi', 'C418', 'mellohi' }, |
||
+ | { 'Stal', 'C418', 'stal' }, |
||
+ | { 'Strad', 'C418', 'strad' }, |
||
+ | { 'Ward', 'C418', 'ward' }, |
||
+ | { '11', 'C418', }, |
||
+ | { 'Wait', 'C418', 'wait' }, |
||
+ | { 'Pigstep', 'Lena Raine', }, |
||
+ | } |
||
for _, disc in ipairs( discs ) do |
for _, disc in ipairs( discs ) do |
||
− | local name = |
+ | local name = 'Music Disc ' .. disc[1] |
+ | local artist = disc[2] |
||
− | aliases[name] = { title = '&b음반 ', name = name, text = '&7C418 - ' .. disc } |
||
+ | local trackname = disc[1] |
||
+ | if disc[3] ~= nil then |
||
+ | trackname = disc[3] |
||
+ | end |
||
+ | aliases[name] = { title = '&b음반', name = name, text = '&7' .. artist .. ' - ' .. trackname } |
||
end |
end |
||
144번째 줄: | 433번째 줄: | ||
'Bow', |
'Bow', |
||
'Carrot on a Stick', |
'Carrot on a Stick', |
||
− | ' |
+ | 'Chainmail Boots', |
− | ' |
+ | 'Chainmail Chestplate', |
− | ' |
+ | 'Chainmail Helmet', |
− | ' |
+ | 'Chainmail Leggings', |
+ | 'Crossbow', |
||
'Diamond Axe', |
'Diamond Axe', |
||
'Diamond Boots', |
'Diamond Boots', |
||
182번째 줄: | 472번째 줄: | ||
'Leather Cap', |
'Leather Cap', |
||
'Leather Pants', |
'Leather Pants', |
||
+ | 'Netherite Axe', |
||
+ | 'Netherite Boots', |
||
+ | 'Netherite Chestplate', |
||
+ | 'Netherite Helmet', |
||
+ | 'Netherite Hoe', |
||
+ | 'Netherite Leggings', |
||
+ | 'Netherite Pickaxe', |
||
+ | 'Netherite Shovel', |
||
+ | 'Netherite Sword', |
||
'Shears', |
'Shears', |
||
'Shield', |
'Shield', |
||
195번째 줄: | 494번째 줄: | ||
'Wooden Sword' |
'Wooden Sword' |
||
} |
} |
||
+ | for _, item in ipairs( damagedItems ) do |
||
− | local damagedItemc = { |
||
− | '弓', |
||
− | '胡萝卜钓竿', |
||
− | '锁链靴子', |
||
− | '锁链胸甲', |
||
− | '锁链头盔', |
||
− | '锁链护腿', |
||
− | '钻石斧', |
||
− | '钻石靴子', |
||
− | '钻石胸甲', |
||
− | '钻石头盔', |
||
− | '钻石锄', |
||
− | '钻石护腿', |
||
− | '钻石镐', |
||
− | '钻石锹', |
||
− | '钻石剑', |
||
− | '鞘翅', |
||
− | '钓鱼竿', |
||
− | '打火石', |
||
− | '金斧', |
||
− | '金靴子', |
||
− | '金胸甲', |
||
− | '金头盔', |
||
− | '金锄', |
||
− | '金护腿', |
||
− | '金镐', |
||
− | '金锹', |
||
− | '金剑', |
||
− | '铁斧', |
||
− | '铁靴子', |
||
− | '铁胸甲', |
||
− | '铁头盔', |
||
− | '铁锄', |
||
− | '铁护腿', |
||
− | '铁镐', |
||
− | '铁锹', |
||
− | '铁剑', |
||
− | '皮革靴子', |
||
− | '皮革外套', |
||
− | '皮革帽子', |
||
− | '皮革裤子', |
||
− | '剪刀', |
||
− | '盾牌', |
||
− | '石斧', |
||
− | '石锄', |
||
− | '石镐', |
||
− | '石锹', |
||
− | '石剑', |
||
− | '木斧', |
||
− | '木锄', |
||
− | '木镐', |
||
− | '木锹', |
||
− | '木剑' |
||
− | } |
||
− | for i, item in ipairs( damagedItems ) do |
||
local name = 'Damaged ' .. item |
local name = 'Damaged ' .. item |
||
− | + | aliases[name] = { title = Autolink.invlink(item, 'nolink'), name = name } |
|
end |
end |
||
275번째 줄: | 520번째 줄: | ||
'Field Masoned', |
'Field Masoned', |
||
'Flower Charge', |
'Flower Charge', |
||
+ | 'Globe', |
||
'Gradient', |
'Gradient', |
||
'Inverted Chevron', |
'Inverted Chevron', |
||
291번째 줄: | 537번째 줄: | ||
'Per Pale', |
'Per Pale', |
||
'Per Pale Inverted', |
'Per Pale Inverted', |
||
+ | 'Piglin', |
||
+ | 'Snout', |
||
'Roundel', |
'Roundel', |
||
'Saltire', |
'Saltire', |
||
− | 'Skull Charge' |
+ | 'Skull Charge' |
+ | } |
||
+ | -- 한국어 현수막 패턴 이름 -- |
||
+ | local patterns_ko = { |
||
+ | 'Base Dexter Canton', |
||
'Base', |
'Base', |
||
+ | 'Base Gradient', |
||
− | 'Chief' |
||
+ | 'Base Indented', |
||
− | } |
||
+ | 'Base Sinister Canton', |
||
− | local patterna = { |
||
− | ' |
+ | 'Bend', |
− | ' |
+ | 'Bend Sinister', |
− | '', |
+ | 'Bordure', |
+ | 'Bordure Indented', |
||
− | '', |
||
− | ' |
+ | 'Chevron', |
+ | 'Chief Dexter Canton', |
||
− | '右', |
||
+ | 'Chief', |
||
− | |||
− | ' |
+ | 'Chief Indented', |
+ | 'Chief Sinister Canton', |
||
− | '', |
||
− | '', |
+ | 'Creeper Charge', |
− | ' |
+ | 'Cross', |
− | ' |
+ | 'Fess', |
+ | 'Field Masoned', |
||
− | |||
− | ' |
+ | 'Flower Charge', |
− | '', |
+ | 'Globe', |
− | ' |
+ | 'Gradient', |
+ | 'Inverted Chevron', |
||
− | '', |
||
− | '', |
+ | 'Lozenge', |
+ | 'Thing', |
||
− | |||
− | ' |
+ | 'Pale', |
− | '', |
+ | 'Pale Dexter', |
− | '', |
+ | 'Pale Sinister', |
− | '', |
+ | 'Paly', |
− | ' |
+ | 'Per Bend', |
+ | 'Per Bend Inverted', |
||
− | |||
+ | 'Per Bend Sinister', |
||
− | '', |
||
+ | 'Per Bend Sinister Inverted', |
||
− | '', |
||
− | ' |
+ | 'Per Fess', |
+ | 'Per Fess Inverted', |
||
− | '右', |
||
− | ' |
+ | 'Per Pale', |
+ | 'Per Pale Inverted', |
||
− | |||
− | '', |
+ | 'Piglin', |
− | '', |
+ | 'Snout', |
− | '', |
+ | 'Roundel', |
− | '', |
+ | 'Saltire', |
+ | 'Skull Charge' |
||
− | '', |
||
− | |||
− | '', |
||
− | '', |
||
− | '', |
||
− | '', |
||
− | '', |
||
− | |||
− | '', |
||
− | '', |
||
− | '', |
||
− | '底', |
||
− | '顶' |
||
− | } |
||
− | local patternb = { |
||
− | '方', |
||
− | '横条', |
||
− | '色自下渐淡', |
||
− | '色底波纹', |
||
− | '方', |
||
− | |||
− | '斜条', |
||
− | '斜条', |
||
− | '色方框边', |
||
− | '色波纹边', |
||
− | '三角', |
||
− | |||
− | '方', |
||
− | '横条', |
||
− | '色顶波纹', |
||
− | '方', |
||
− | '色爬行者盾徽', |
||
− | |||
− | '正十字', |
||
− | '横条', |
||
− | '色砖纹', |
||
− | '色花朵盾徽', |
||
− | '色自上渐淡', |
||
− | |||
− | '三角', |
||
− | '色菱形', |
||
− | '色Mojang徽标', |
||
− | '竖条', |
||
− | '竖条', |
||
− | |||
− | '竖条', |
||
− | '竖条纹', |
||
− | '色左上三角', |
||
− | '色右下三角', |
||
− | '色右上三角', |
||
− | |||
− | '色左下三角', |
||
− | '色上半方形', |
||
− | '色下半方形', |
||
− | '色右半方形', |
||
− | '色左半方形', |
||
− | |||
− | '色圆形', |
||
− | '斜十字', |
||
− | '色头颅盾徽', |
||
− | '横条', |
||
− | '横条' |
||
} |
} |
||
local colors = { |
local colors = { |
||
413번째 줄: | 604번째 줄: | ||
'Red', |
'Red', |
||
'Black' |
'Black' |
||
− | } |
||
− | local colora = { |
||
− | '白', |
||
− | '橙', |
||
− | '品红', |
||
− | '淡蓝', |
||
− | '黄', |
||
− | '黄绿', |
||
− | '粉红', |
||
− | '灰', |
||
− | '淡灰', |
||
− | '青', |
||
− | '紫', |
||
− | '蓝', |
||
− | '棕', |
||
− | '绿', |
||
− | '红', |
||
− | '黑' |
||
} |
} |
||
local colorc = { |
local colorc = { |
||
− | ' |
+ | '하얀색', |
− | ' |
+ | '주황색', |
− | ' |
+ | '자홍색', |
− | ' |
+ | '하늘색', |
− | ' |
+ | '노란색', |
− | ' |
+ | '연두색', |
− | ' |
+ | '분홍색', |
− | ' |
+ | '회색', |
− | ' |
+ | '회백색', |
− | ' |
+ | '청록색', |
− | ' |
+ | '보라색', |
− | ' |
+ | '파란색', |
− | ' |
+ | '갈색', |
− | ' |
+ | '초록색', |
− | ' |
+ | '빨간색', |
− | ' |
+ | '검은색', |
} |
} |
||
455번째 줄: | 628번째 줄: | ||
for i, color in ipairs( colors ) do |
for i, color in ipairs( colors ) do |
||
local name = color .. ' Firework Star' |
local name = color .. ' Firework Star' |
||
− | + | aliases[name] = { title = '폭죽 탄약', name = name, text = '&7' .. colorc[i] } |
|
table.insert( fireworkStar, aliases[name] ) |
table.insert( fireworkStar, aliases[name] ) |
||
− | for |
+ | for _, pattern in ipairs( patterns ) do |
name = color .. ' ' .. pattern .. ' Banner' |
name = color .. ' ' .. pattern .. ' Banner' |
||
+ | local text = '' |
||
− | --aliases[name] = '[旗帜]' .. name .. '[&7' .. patterna[j] .. '' .. colora[i] .. '' .. patternb[j] .. ']' |
||
+ | if patterns_ko[_]:find( '%$1' ) then |
||
− | aliases[name] = { title = '旗帜', name = name, text = '&7' .. patterna[j] .. '' .. colora[i] .. '' .. patternb[j] } |
||
+ | text = string.gsub( patterns_ko[_], '%$1', colorc[i] ) |
||
+ | end |
||
+ | aliases[name] = { title = '현수막', name = name, text = '&7' .. text } |
||
end |
end |
||
end |
end |
||
− | |||
aliases['Any Firework Star'] = fireworkStar |
aliases['Any Firework Star'] = fireworkStar |
||
aliases['Matching Firework Star'] = fireworkStar |
aliases['Matching Firework Star'] = fireworkStar |
||
469번째 줄: | 644번째 줄: | ||
-- Items that use the sixteen colors -- |
-- Items that use the sixteen colors -- |
||
local coloredItems = { |
local coloredItems = { |
||
+ | 'Balloon', |
||
'Banner', |
'Banner', |
||
+ | 'Bed', |
||
'Carpet', |
'Carpet', |
||
'Concrete', |
'Concrete', |
||
'Concrete Powder', |
'Concrete Powder', |
||
'Glazed Terracotta', |
'Glazed Terracotta', |
||
+ | 'Hardened $1 Stained Glass', |
||
+ | 'Hardened $1 Stained Glass Pane', |
||
'Shield', |
'Shield', |
||
− | + | 'Shulker Box', |
|
'Stained Glass', |
'Stained Glass', |
||
'Stained Glass Pane', |
'Stained Glass Pane', |
||
− | 'Wool' |
+ | 'Wool' |
− | 'Bed' |
||
} |
} |
||
for _, item in ipairs( coloredItems ) do |
for _, item in ipairs( coloredItems ) do |
||
local coloredItemAliases = {} |
local coloredItemAliases = {} |
||
+ | local itemName = '' |
||
+ | |||
for _, color in ipairs( colors ) do |
for _, color in ipairs( colors ) do |
||
+ | if item:find( '%$1' ) then |
||
− | table.insert( coloredItemAliases, color .. ' ' .. item ) |
||
+ | itemName = item:gsub( '%$1', color ) |
||
+ | else |
||
+ | itemName = color .. ' ' .. item |
||
+ | end |
||
+ | table.insert( coloredItemAliases, itemName ) |
||
end |
end |
||
+ | |||
+ | item = item:gsub( '%$1 ', '') |
||
aliases['Any ' .. item] = coloredItemAliases |
aliases['Any ' .. item] = coloredItemAliases |
||
aliases['Matching ' .. item] = coloredItemAliases |
aliases['Matching ' .. item] = coloredItemAliases |
||
end |
end |
||
+ | -- list of all potions with no effects |
||
− | |||
+ | local noEffects = { |
||
− | -- Potions -- |
||
+ | 'Water Bottle', |
||
− | local effects = { |
||
− | ' |
+ | 'Awkward Potion', |
− | ' |
+ | 'Thick Potion', |
− | ' |
+ | 'Mundane Potion', |
+ | 'Uncraftable Potion', |
||
− | 'Poison', |
||
+ | 'Splash Water Bottle', |
||
− | 'Healing', |
||
+ | 'Awkward Splash Potion', |
||
− | 'Night Vision', |
||
+ | 'Thick Splash Potion', |
||
− | 'Weakness', |
||
+ | 'Mundane Splash Potion', |
||
− | 'Strength', |
||
+ | 'Uncraftable Splash Potion', |
||
− | 'Slowness', |
||
+ | 'Lingering Water Bottle', |
||
− | 'Leaping', |
||
+ | 'Awkward Lingering Potion', |
||
− | 'Harming', |
||
+ | 'Thick Lingering Potion', |
||
− | 'Water Breathing', |
||
+ | 'Mundane Lingering Potion', |
||
− | 'Invisibility', |
||
+ | 'Uncraftable Lingering Potion', |
||
− | 'Luck' |
||
+ | 'Tipped Arrow', |
||
+ | 'Arrow of Splashing', |
||
+ | 'Uncraftable Tipped Arrow', |
||
} |
} |
||
+ | for _, name in ipairs(noEffects) do |
||
+ | aliases[name] = { name = name, text = '&7효과 없음' } |
||
+ | end |
||
+ | |||
+ | -- start these lists with the no effect items as names are not normal |
||
local potionItems = { |
local potionItems = { |
||
['Potion'] = { |
['Potion'] = { |
||
− | 'Water Bottle', |
+ | aliases['Water Bottle'], |
− | 'Awkward Potion', |
+ | aliases['Awkward Potion'], |
− | 'Thick Potion', |
+ | aliases['Thick Potion'], |
− | 'Mundane Potion', |
+ | aliases['Mundane Potion'], |
}, |
}, |
||
['Splash Potion'] = { |
['Splash Potion'] = { |
||
− | 'Splash Water Bottle', |
+ | aliases['Splash Water Bottle'], |
− | 'Awkward Splash Potion', |
+ | aliases['Awkward Splash Potion'], |
− | 'Thick Splash Potion', |
+ | aliases['Thick Splash Potion'], |
− | 'Mundane Splash Potion', |
+ | aliases['Mundane Splash Potion'], |
}, |
}, |
||
['Lingering Potion'] = { |
['Lingering Potion'] = { |
||
− | 'Lingering Water Bottle', |
+ | aliases['Lingering Water Bottle'], |
− | 'Awkward Lingering Potion', |
+ | aliases['Awkward Lingering Potion'], |
− | 'Thick Lingering Potion', |
+ | aliases['Thick Lingering Potion'], |
− | 'Mundane Lingering Potion' |
+ | aliases['Mundane Lingering Potion'], |
}, |
}, |
||
['Tipped Arrow'] = { |
['Tipped Arrow'] = { |
||
− | 'Arrow of Splashing', |
+ | aliases['Arrow of Splashing'], |
− | 'Tipped Arrow', |
+ | aliases['Tipped Arrow'], |
− | 'Tipped Arrow', |
+ | aliases['Tipped Arrow'], |
− | 'Tipped Arrow', |
+ | aliases['Tipped Arrow'], |
}, |
}, |
||
} |
} |
||
+ | |||
− | for _, effect in ipairs( effects ) do |
||
+ | -- Potions -- |
||
− | table.insert( potionItems['Potion'], 'Potion of ' .. effect ) |
||
+ | local effects = { |
||
− | table.insert( potionItems['Splash Potion'], 'Splash Potion of ' .. effect ) |
||
+ | -- durations are in the order normal, extended, enhanced |
||
− | table.insert( potionItems['Lingering Potion'], 'Lingering Potion of ' .. effect ) |
||
+ | {name = 'Regeneration', effect = '&9재생', enhanced = 'II', |
||
− | table.insert( potionItems['Tipped Arrow'], 'Arrow of ' .. effect ) |
||
+ | durations = { normal = { '0:45', '1:30', '0:22' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}}, |
||
+ | { name = 'Swiftness', effect = '&9속도 증가', enhanced = 'II', |
||
+ | durations = { normal = { '3:00', '8:00', '1:30' }, lingering = { '0:45', '2:00', '0:22' }, arrow = { '0:22', '1:00', '0:11' }}}, |
||
+ | { name = 'Fire Resistance', effect = '&9화염 저항', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, |
||
+ | { name = 'Poison', effect = '&c맹독', enhanced = 'II', |
||
+ | durations = { normal = { '0:45', '1:30', '0:21' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}}, |
||
+ | { name = 'Healing', effect = '&9즉시 회복', enhanced = 'II' }, |
||
+ | { name = 'Night Vision', effect = '&9야간 투시', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, |
||
+ | { name = 'Weakness', effect = '&c나약함', durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}}, |
||
+ | { name = 'Strength', effect = '&9힘', enhanced = 'II', |
||
+ | durations = { normal = { '3:00', '8:00', '1:30'}, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}}, |
||
+ | { name = 'Slowness', effect = '&c속도 감소', enhanced = 'IV', |
||
+ | durations = { normal = { '1:30', '4:00', '0:20'}, lingering = {'0:22', '1:00', '0:05'}, arrow = { '0:11', '0:30', '0:02' }}}, |
||
+ | { name = 'Leaping', effect = '&9점프 강화', enhanced = 'II', |
||
+ | durations = { normal = { '3:00', '8:00', '1:30' }, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}}, |
||
+ | { name = 'Harming', effect = '&c즉시 피해', enhanced = 'II' }, |
||
+ | { name = 'Water Breathing', effect = '&9수중 호흡', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, |
||
+ | { name = 'Invisibility', effect = '&9투명화', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}}, |
||
+ | { name = 'Slow Falling', effect = '&9느린 낙하', durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}}, |
||
+ | { name = 'Luck', effect = '&9행운', durations = { normal = { '5:00' }, lingering = { '1:15' }, arrow = { '0:37' }}}, |
||
+ | { name = 'Decay', effect = '&c시듦', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}}, |
||
+ | { name = 'the Turtle Master', text = '&c속도 감소 IV ($1)/&9저항 III ($1)', enhanced = '&c속도 감소 VI ($1)/&9저항 IV ($1)', |
||
+ | durations = { normal = { '0:20', '0:40', '0:20' }, lingering = { '0:15', '0:45', '0:15' }, arrow = { '0:07', '0:22', '0:07' }}} |
||
+ | } |
||
+ | local types = { |
||
+ | {name = 'Potion', durations = 'normal', text = 'Potion of '}, |
||
+ | {name = 'Splash Potion', durations = 'normal', text = 'Splash Potion of '}, |
||
+ | {name = 'Lingering Potion', durations = 'lingering', text = 'Lingering Potion of '}, |
||
+ | {name = 'Tipped Arrow', durations = 'arrow', text = 'Arrow of '}, |
||
+ | } |
||
+ | |||
+ | for _, effect in ipairs(effects) do |
||
+ | for _, type in ipairs(types) do |
||
+ | -- form name, it will be reused |
||
+ | local name = type.text .. effect.name |
||
+ | local potionName = {} |
||
+ | if type.name == 'Tipped Arrow' then |
||
+ | potionName = type.text .. effect.name |
||
+ | else |
||
+ | potionName = type.text .. effect.name .. '.gif' |
||
+ | end |
||
+ | |||
+ | -- if we have durations, add times |
||
+ | if effect.durations then |
||
+ | local durations = effect.durations[type.durations] |
||
+ | |||
+ | -- turtle master is weird, so just do a fancy string replacement |
||
+ | if effect.text then |
||
+ | aliases[name] = { name = potionName, text = effect.text:gsub( '%$1', durations[1] ) } |
||
+ | aliases[name .. ' Extended'] = { name = potionName, text = effect.text:gsub( '%$1', durations[2] ) } |
||
+ | aliases[name .. ' Enhanced'] = { name = potionName, text = effect.enhanced:gsub( '%$1', durations[3] ) } |
||
+ | else |
||
+ | -- we always have normal |
||
+ | aliases[name] = { name = potionName, text = string.format( '%s (%s)', effect.effect, durations[1] ) } |
||
+ | |||
+ | -- ensure we have extended |
||
+ | if durations[2] then |
||
+ | aliases[name .. ' Extended'] = { name = potionName, text = string.format( '%s (%s)', effect.effect, durations[2] ) } |
||
+ | |||
+ | -- and enhanced, currently there is nothing with a duration that can be extended but not enhanced |
||
+ | if effect.enhanced then |
||
+ | aliases[name .. ' Enhanced'] = { name = potionName, text = string.format( '%s %s (%s)', effect.effect, effect.enhanced, durations[3] ) } |
||
+ | end |
||
+ | end |
||
+ | end |
||
+ | else |
||
+ | -- otherwise its just effect, currently every potion with no duration can be enhanced |
||
+ | aliases[name] = { name = potionName, text = effect.effect} |
||
+ | aliases[name .. ' Enhanced'] = { name = potionName, text = effect.effect .. ' ' .. effect.enhanced } |
||
+ | end |
||
+ | |||
+ | -- add the base potion to the any list |
||
+ | table.insert(potionItems[type.name], aliases[name]) |
||
+ | end |
||
end |
end |
||
+ | |||
+ | -- build the any lists |
||
for item, potionAliases in pairs( potionItems ) do |
for item, potionAliases in pairs( potionItems ) do |
||
aliases['Any ' .. item] = potionAliases |
aliases['Any ' .. item] = potionAliases |
||
545번째 줄: | 816번째 줄: | ||
-- Wood -- |
-- Wood -- |
||
− | local |
+ | local woodTypes = { |
+ | overworld = { |
||
− | 'Oak', |
||
+ | 'Oak', |
||
− | 'Spruce', |
||
− | + | 'Spruce', |
|
− | + | 'Birch', |
|
− | + | 'Jungle', |
|
+ | 'Acacia', |
||
− | 'Dark Oak' |
||
+ | 'Dark Oak', |
||
+ | }, |
||
+ | nether = { |
||
+ | 'Crimson', |
||
+ | 'Warped' |
||
+ | }, |
||
+ | both = {}, |
||
} |
} |
||
+ | local woodTypeWorld = {} |
||
+ | for _, world in ipairs({'overworld', 'nether'}) do |
||
+ | local woods = woodTypes[world] |
||
+ | for _, type in ipairs(woods) do |
||
+ | woodTypeWorld[type] = world |
||
+ | table.insert(woodTypes.both, type) |
||
+ | end |
||
+ | end |
||
local woodItems = { |
local woodItems = { |
||
+ | overworld = { |
||
− | 'Fence Gate', |
||
− | + | 'Wood', |
|
+ | 'Log', |
||
− | 'Boat', |
||
+ | 'Boat', |
||
− | 'wood Door', |
||
+ | 'Stripped $1 Log', |
||
− | 'wood Fence', |
||
+ | 'Stripped $1 Wood', |
||
− | 'Wood Planks', |
||
− | + | 'Wood Planks', |
|
− | + | 'Wood Slab', |
|
+ | 'Wood Stairs', |
||
− | } |
||
+ | 'Wood Pressure Plate', |
||
− | -- used if the items use a different name than the alias |
||
+ | 'Wood Button', |
||
− | local woodNames = { |
||
− | + | 'Wood Door', |
|
+ | 'Wood Trapdoor', |
||
− | ['wood Fence'] = 'Fence', |
||
+ | 'Wood Fence Gate', |
||
+ | 'Wood Fence', |
||
+ | 'Wood Sign', |
||
+ | 'Sapling', |
||
+ | }, |
||
+ | nether = { |
||
+ | 'Stem', |
||
+ | 'Hyphae', |
||
+ | 'Stripped $1 Stem', |
||
+ | 'Stripped $1 Hyphae', |
||
+ | }, |
||
+ | both = { |
||
+ | '$world Planks', |
||
+ | '${Wood,Hyphae}', |
||
+ | '${Log,Stem}', |
||
+ | 'Stripped $1 ${Wood,Hyphae}', |
||
+ | 'Stripped $1 ${Log,Stem}', |
||
+ | 'Fence Gate', |
||
+ | -- '$world Wood Fence', |
||
+ | '$wood Fence', |
||
+ | '$wood Door', |
||
+ | '$wood Button', |
||
+ | '$wood Pressure Plate', |
||
+ | '$wood Trapdoor', |
||
+ | '$world $wood Slab', |
||
+ | '$wood Stairs', |
||
+ | 'Sign' |
||
+ | } |
||
} |
} |
||
+ | local woodItemWorld = {} |
||
− | for _, item in ipairs( woodItems ) do |
||
+ | for world, items in pairs(woodItems) do |
||
− | local itemName = woodNames[item] or item |
||
+ | for _, item in ipairs(items) do |
||
+ | -- expand $world (should only happen in "both") |
||
+ | if (item:find('%$world')) and world == 'both' then |
||
+ | item = item:gsub('%$world ', '') |
||
+ | woodItemWorld['Overworld ' .. item] = 'overworld' |
||
+ | woodItemWorld['Nether ' .. item] = 'nether' |
||
+ | end |
||
+ | woodItemWorld[item] = world |
||
+ | end |
||
+ | end |
||
+ | |||
+ | for item, world in pairs(woodItemWorld) do |
||
+ | local itemName = '' |
||
local woodAliases = {} |
local woodAliases = {} |
||
+ | |||
− | for _, wood in ipairs( woods ) do |
||
+ | -- real "linkable" name |
||
− | table.insert( woodAliases, wood .. ' ' .. itemName ) |
||
+ | local realItem = item:gsub('^Overworld ', '') |
||
+ | realItem = realItem:gsub('^Nether ', '') |
||
+ | |||
+ | for _, wood in ipairs(woodTypes[world]) do |
||
+ | -- Parse ${,} (world-select) syntax |
||
+ | local selector = (woodTypeWorld[wood] == 'overworld') and "%1" or "%2" |
||
+ | itemName = realItem:gsub("%${(.-),(.-)}", selector) |
||
+ | |||
+ | if itemName:find('%$wood') then |
||
+ | itemName = itemName:gsub('%$wood', wood) |
||
+ | elseif itemName:find('%$1') then |
||
+ | itemName = itemName:gsub( '%$1', wood) |
||
+ | else |
||
+ | itemName = wood .. ' ' .. itemName |
||
+ | end |
||
+ | table.insert(woodAliases, itemName) |
||
end |
end |
||
+ | |||
− | aliases['Any ' .. item] = woodAliases |
||
+ | -- Parse ${,} (world-select) syntax |
||
+ | item = item:gsub("%${(.-),(.-)}", "%1 or %2") |
||
+ | item = item:gsub('%$wood ', 'wood ') |
||
+ | item = item:gsub('%$1 ', '') |
||
+ | aliases['Any ' .. item] = woodAliases |
||
aliases['Matching ' .. item] = woodAliases |
aliases['Matching ' .. item] = woodAliases |
||
+ | end |
||
+ | |||
+ | -- Bedrock Edition Items -- |
||
+ | local editionItems = { |
||
+ | BE = { |
||
+ | 'Acacia Fence Gate', |
||
+ | 'Birch Fence Gate', |
||
+ | 'Bow', |
||
+ | 'Bucket of Pufferfish', |
||
+ | 'Bucket of Tropical Fish', |
||
+ | 'Chest', |
||
+ | 'Creeper Head', |
||
+ | 'Crimson Fence Gate', |
||
+ | 'Dark Oak Fence Gate', |
||
+ | 'Dragon Head', |
||
+ | 'End Gateway', |
||
+ | 'End Portal', |
||
+ | 'Ender Chest', |
||
+ | 'Flowing Lava', |
||
+ | 'Glass Pane', |
||
+ | 'Head', |
||
+ | 'Honey Block', |
||
+ | 'Horn Coral Block', |
||
+ | 'Iron Bars', |
||
+ | 'Jigsaw Block', |
||
+ | 'Jungle Fence Gate', |
||
+ | 'Lava', |
||
+ | 'Map', |
||
+ | 'Minecart with Command Block', |
||
+ | 'Oak Fence Gate', |
||
+ | 'Observer', |
||
+ | 'Ocean Explorer Map', |
||
+ | 'Peony', |
||
+ | 'Rose Bush', |
||
+ | 'Scaffolding', |
||
+ | 'Skeleton Skull', |
||
+ | 'Spawn Cat', |
||
+ | 'Spawn Panda', |
||
+ | 'Spawn Wandering Trader', |
||
+ | 'Spruce Fence Gate', |
||
+ | 'Stonecutter', |
||
+ | 'Structure Void', |
||
+ | 'Warped Fence Gate', |
||
+ | 'Wither Skeleton Skull', |
||
+ | 'Woodland Explorer Map', |
||
+ | 'Zombie Head', |
||
+ | 'Conduit', |
||
+ | }, |
||
+ | LCE = { |
||
+ | 'Peony', |
||
+ | 'Rose Bush', |
||
+ | 'Shrub' |
||
+ | } |
||
+ | } |
||
+ | for edition, items in pairs(editionItems) do |
||
+ | for _, item in ipairs(items) do |
||
+ | local name = item .. ' ' .. edition |
||
+ | aliases[name] = { title = item, name = name } |
||
+ | end |
||
+ | end |
||
+ | |||
+ | -- Bedrock Light blocks |
||
+ | for level = 0, 15 do |
||
+ | aliases["Light Block " .. level] = {title = "광원 블록", name = "Light Block " .. level} |
||
end |
end |
||
2021년 1월 21일 (목) 05:46 판
local coloredDyes = {
'Orange Dye', 'Magenta Dye', 'Light Blue Dye', 'Yellow Dye', 'Lime Dye',
'Pink Dye', 'Gray Dye', 'Light Gray Dye', 'Cyan Dye', 'Purple Dye',
'Blue Dye', 'Brown Dye', 'Green Dye',
'Red Dye', 'Black Dye',
}
local aliases = {
-- Common fuel types for furnace --
['Any fuel'] = { 'Coal', 'Charcoal', { title = '원목', name = 'Oak Log' }, { title = '나무 판자', name = 'Oak Planks' }, 'Block of Coal' },
['Any leather armor'] = { 'Leather Cap', 'Leather Tunic', 'Leather Pants', 'Leather Boots' },
['Any golden armor'] = { 'Golden Helmet', 'Golden Chestplate', 'Golden Leggings', 'Golden Boots' },
['Any chainmail armor'] = { 'Chainmail Helmet', 'Chainmail Chestplate', 'Chainmail Leggings', 'Chainmail Boots' },
['Any iron armor'] = { 'Iron Helmet', 'Iron Chestplate', 'Iron Leggings', 'Iron Boots' },
['Any diamond armor'] = { 'Diamond Helmet', 'Diamond Chestplate', 'Diamond Leggings', 'Diamond Boots' },
['Any netherite armor'] = { 'Netherite Helmet', 'Netherite Chestplate', 'Netherite Leggings', 'Netherite Boots' },
-- stones --
['Any Cobblestone or Blackstone'] = { 'Cobblestone', 'Blackstone' },
-- Display names --
['Broken Elytra'] = { title = '&e겉날개', name = 'Broken Elytra' },
['Clay (block)'] = { title = '점토', name = 'Clay (block)' }, --remove on Nether Update's release if bedrock also changes the item name
['Clay (ball)'] = { title = '점토', name = 'Clay (ball)' }, --remove on Nether Update's release if bedrock also changes the item name
['Banner Pattern Flower'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7꽃 모양'},
['Banner Pattern Flower Charge'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7꽃 모양'},
['Banner Pattern Creeper Charge'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7크리퍼 모양'},
['Banner Pattern Creeper'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7크리퍼 모양'},
['Banner Pattern Bordure Indented'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7크리퍼 모양'},
['Banner Pattern Field Masoned'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7벽돌 무늬'},
['Banner Pattern Skull Charge'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7머리 모양'},
['Banner Pattern Skull'] = { title = '&e현수막 무늬', name = 'Banner Pattern', text = '&7머리 모양'},
['Banner Pattern Thing'] = { title = '&d현수막 무늬', name = 'Banner Pattern', text = '&7무언가'},
['Banner Pattern Mojang'] = { title = '&d현수막 무늬', name = 'Banner Pattern', text = '&7무언가'},
['Banner Pattern Globe'] = { title = '&d현수막 무늬', name = 'Banner Pattern', text = '&7지구 모양'},
['Banner Pattern Snout'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7돼지코'},
['Banner Pattern Piglin'] = { title = '현수막 무늬', name = 'Banner Pattern', text = '&7돼지코'},
['Button'] = { title = '버튼', name = 'Stone Button'},
['Wooden Button'] = { title = '버튼', name = 'Oak Button'},
['Arrow Loaded Crossbow'] = { title = '쇠뇌', name = 'Arrow Loaded Crossbow' },
['Damaged Arrow Loaded Crossbow'] = { title = '쇠뇌', name = 'Damaged Arrow Loaded Crossbow' },
['Firework Loaded Crossbow'] = { title = '쇠뇌', name = 'Firework Loaded Crossbow' },
['Damaged Firework Loaded Crossbow'] = { title = '쇠뇌', name = 'Damaged Firework Loaded Crossbow' },
['Illager Banner'] = { title = '&6&o불길한 현수막', name = 'Illager Banner', text =
'&7청록색 마름모/&7회백색 아래쪽 가로띠/&7회색 중앙 세로띠/&7회백색 테두리/&7검은색 중앙 가로띠/&7회백색 중앙 가로선 상부'},
['Jigsaw Block'] = { title = '&d직소 블록', name = 'Jigsaw Block' },
['Half Filled Bundle'] = { title = 'Bundle', name = 'Half Filled Bundle' },
['Filled Bundle'] = { title = 'Bundle', name = 'Filled Bundle' },
-- Weapons --
['Trident'] = { name = 'Trident', text = '/&7다른 손에 있을 때:/ &2 공격 속도 1.1/ &2 공격 피해 9'},
['Trident BE'] = { name = 'Trident', text = '/&9 +8 공격 피해'},
-- Bedrock and Education Edition display names --
['Elytra Wings'] = { title = '겉날개', name = 'Elytra' },
['Cooked Beef'] = { title = '스테이크', name = 'Steak' },
['Map (no markers)'] = { title = '지도', name = 'Map', text = '위치 정보:&c아니오' },
['Locator Map'] = { title = '지도', name = 'Map', text = '위치 정보:&a예' },
-- Chemistry --
['Lead (element)'] = { title = '납', name = 'Lead (element)' },
['Water (compound)'] = { title = '물', name = 'Water (compound)' },
['Chloride'] = { 'Calcium Chloride', 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' },
['Sparkler'] = { 'Orange Sparkler', 'Blue Sparkler', 'Red Sparkler', 'Purple Sparkler', 'Green Sparkler' },
['Matching Chloride'] = { 'Cerium Chloride', 'Mercuric Chloride', 'Potassium Chloride', 'Tungsten Chloride' },
['Matching Colored Torch'] = { 'Blue Torch', 'Red Torch', 'Purple Torch', 'Green Torch' },
['Matching Glow Stick'] = { 'White Glow Stick', 'Orange Glow Stick', 'Magenta Glow Stick', 'Light Blue Glow Stick',
'Yellow Glow Stick', 'Lime Glow Stick', 'Pink Glow Stick', 'Gray Glow Stick', 'Cyan Glow Stick',
'Purple Glow Stick', 'Blue Glow Stick', 'Brown Glow Stick', 'Green Glow Stick', 'Red Glow Stick' },
}
local Autolink = require( '모듈:Autolink' )
-- Tooltip colors --
local yellowTooltips = {
'Creeper Head',
'Damaged Elytra',
'Dragon Head',
'Dragon\'s Breath',
'Elytra',
'Head',
'Heart of the Sea',
'Player Head',
'Skeleton Skull',
'Totem of Undying',
'Wither Skeleton Skull',
'Zombie Head',
}
for _, name in ipairs( yellowTooltips ) do
aliases[name] = { title = '&e' .. Autolink.invlink(name, 'nolink'), name = name }
end
local aquaTooltips = {
'Beacon',
'Conduit',
'Golden Apple',
}
for _, name in ipairs( aquaTooltips ) do
aliases[name] = { title = '&b' .. Autolink.invlink(name, 'nolink'), name = name }
end
local lightPurpleTooltips = {
'Dragon Egg',
'Structure Block',
}
for _, name in ipairs( lightPurpleTooltips ) do
aliases[name] = { title = '&d' .. Autolink.invlink(name, 'nolink'), name = name }
end
local orangeItalicTooltips = {
'Ominous Banner',
}
for _, name in ipairs( orangeItalicTooltips ) do
aliases[name] = { title = '&6&o', name = name }
end
-- Animated icons --
local animatedIcons = {
'Bubble Column',
'Compass',
'Clock',
'Crimson Hyphae',
'Crimson Stem',
'Debug Stick',
'Fire',
'Heat Block',
'Lava',
'Lodestone Compass',
'Magma Block',
'Nether Portal',
'Prismarine',
'Prismarine Slab',
'Prismarine Stairs',
'Prismarine Wall',
'Sea Lantern',
'Stonecutter',
'Soul Fire',
'Sculk Sensor',
'Warped Hyphae',
'Warped Stem',
'Water',
'Written Book'
}
for _, icon in ipairs( animatedIcons ) do
aliases[icon] = icon .. '.gif'
end
-- Some things are both animated and yellow --
local animatedIconsYellowTooltips = {
'Enchanted Book',
'Nether Star',
'Bottle o\' Enchanting',
}
for _, name in ipairs( animatedIconsYellowTooltips ) do
aliases[name] = { title = '&e', name = name .. '.gif' }
end
-- Some things are both animated and aqua --
local animatedIconsAquaTooltips = {
'End Crystal',
}
for _, name in ipairs( animatedIconsAquaTooltips ) do
aliases[name] = { title = '&b', name = name .. '.gif' }
end
-- Some things are both animated and purple --
local animatedIconsPurpleTooltips = {
'Command Block',
'Chain Command Block',
'Repeating Command Block',
'Enchanted Golden Apple',
}
for _, name in ipairs( animatedIconsPurpleTooltips ) do
aliases[name] = { title = '&d' .. Autolink.invlink(name, 'nolink'), name = name .. '.gif' }
end
-- Bedrock Edition Items --
local animatedEditionItems = {
BE = {
'Lodestone Compass',
},
LCE = {
}
}
for edition, items in pairs(animatedEditionItems) do
for _, item in ipairs(items) do
local name = item .. ' ' .. edition
aliases[name] = { title = item, name = name .. '.gif' }
end
end
-- Tools and weapons --
local tools = {
{'Wooden', 'Sword', 1.6, 4, '나무 검' },
{'Stone', 'Sword', 1.6, 5, '돌 검' },
{'Iron', 'Sword', 1.6, 6, '철 검' },
{'Golden', 'Sword', 1.6, 4, '황금 검' },
{'Diamond', 'Sword', 1.6, 7, '다이아몬드 검' },
{'Netherite', 'Sword', 1.6, 8, '네더라이트 검' },
{'Wooden', 'Pickaxe', 1.2, 2, '나무 곡괭이' },
{'Stone', 'Pickaxe', 1.2, 3, '돌 곡괭이' },
{'Iron', 'Pickaxe', 1.2, 4, '철 곡괭이' },
{'Golden', 'Pickaxe', 1.2, 2, '황금 곡괭이' },
{'Diamond', 'Pickaxe', 1.2, 5, '다이아몬드 곡괭이' },
{'Netherite', 'Pickaxe', 1.2, 6, '네더라이트 곡괭이' },
{'Wooden', 'Axe', 0.8, 7, '나무 도끼' },
{'Stone', 'Axe', 0.8, 9, '돌 도끼' },
{'Iron', 'Axe', 0.9, 9, '철 도끼' },
{'Golden', 'Axe', 1, 7, '황금 도끼' },
{'Diamond', 'Axe', 1, 9, '다이아몬드 도끼' },
{'Netherite', 'Axe', 1, 9, '네더라이트 도끼' },
{'Wooden', 'Shovel', 1, 2.5, '나무 삽' },
{'Stone', 'Shovel', 1, 3.5, '돌 삽' },
{'Iron', 'Shovel', 1, 4.5, '철 삽' },
{'Golden', 'Shovel', 1, 2.5, '황금 삽' },
{'Diamond', 'Shovel', 1, 5.5, '다이아몬드 삽' },
{'Netherite', 'Shovel', 1.6, 6.5, '네더라이트 삽' },
{'Wooden', 'Hoe', 1, 1, '나무 괭이' },
{'Stone', 'Hoe', 2, 1, '돌 괭이' },
{'Iron', 'Hoe', 3, 1, '철 괭이' },
{'Golden', 'Hoe', 1, 1, '황금 괭이' },
{'Diamond', 'Hoe', 4, 1, '다이아몬드 괭이' },
{'Netherite', 'Hoe', 4, 1, '네더라이트 괭이' }
}
local materialGroups = {}
local toolGroups = {}
for _, toolProps in ipairs( tools ) do
local aliasName = toolProps[1] .. ' ' .. toolProps[2]
aliases[aliasName] = { title = toolProps[5], name = aliasName, text = '/&7주로 사용하는 손에 있을 때:/ &2 공격 속도 ' .. toolProps[3] .. '/ &2 공격 피해 ' .. toolProps[4] }
local materialGroup = toolProps[1]:lower();
local toolGroup = toolProps[2]:lower();
if toolProps[2] ~= 'Sword' then
if materialGroups[materialGroup] == nil then materialGroups[materialGroup] = {} end
table.insert( materialGroups[materialGroup], aliases[aliasName] )
end
if toolGroups[toolGroup] == nil then toolGroups[toolGroup] = {} end
table.insert( toolGroups[toolGroup], aliases[aliasName] )
end
for materialGroup, items in pairs( materialGroups ) do
aliases['Any ' .. materialGroup .. ' tools'] = items
end
for toolGroup, items in pairs( toolGroups ) do
aliases['Any ' .. toolGroup] = items
end
-- Tools and weapons in Bedrock Edition --
local toolsBE = {
{'Wooden', 'Sword', 4, '나무 검' },
{'Stone', 'Sword', 5, '돌 검' },
{'Iron', 'Sword', 6, '철 검' },
{'Golden', 'Sword', 4, '황금 검' },
{'Diamond', 'Sword', 7, '다이아몬드 검' },
{'Netherite', 'Sword', 8, '네더라이트 검' },
{'Wooden', 'Pickaxe', 2, '나무 곡괭이' },
{'Stone', 'Pickaxe', 3, '돌 곡괭이' },
{'Iron', 'Pickaxe', 4, '철 곡괭이' },
{'Golden', 'Pickaxe', 2, '황금 곡괭이' },
{'Diamond', 'Pickaxe', 5, '다이아몬드 곡괭이' },
{'Netherite', 'Pickaxe', 6, '네더라이트 곡괭이' },
{'Wooden', 'Axe', 3, '나무 도끼' },
{'Stone', 'Axe', 4, '돌 도끼' },
{'Iron', 'Axe', 5, '철 도끼' },
{'Golden', 'Axe', 3, '황금 도끼' },
{'Diamond', 'Axe', 6, '다이아몬드 도끼' },
{'Netherite', 'Axe', 7, '네더라이트 도끼' },
{'Wooden', 'Shovel', 1, '나무 삽' },
{'Stone', 'Shovel', 2, '돌 삽' },
{'Iron', 'Shovel', 3, '철 삽' },
{'Golden', 'Shovel', 1, '황금 삽' },
{'Diamond', 'Shovel', 4, '다이아몬드 삽' },
{'Netherite', 'Shovel', 5, '네더라이트 삽' },
{'Wooden', 'Hoe', 2, '나무 괭이' },
{'Stone', 'Hoe', 3, '돌 괭이' },
{'Iron', 'Hoe', 4, '철 괭이' },
{'Golden', 'Hoe', 2, '황금 괭이' },
{'Diamond', 'Hoe', 5, '다이아몬드 괭이' },
{'Netherite', 'Hoe', 6, '네더라이트 괭이' }
}
for _, toolProps in ipairs( toolsBE ) do
local aliasName = toolProps[1] .. ' ' .. toolProps[2]
aliases[aliasName .. ' BE'] = { title = toolProps[4], name = aliasName, text = '/&9+' .. toolProps[3] .. ' 공격 피해'}
end
-- Lists of item variants --
local itemVariants = {
['Dye'] = mw.clone( coloredDyes ),
['Colored Dye'] = coloredDyes,
['Dyed Wool'] = {
'Orange Wool', 'Magenta Wool', 'Light Blue Wool', 'Yellow Wool', 'Lime Wool',
'Pink Wool', 'Gray Wool', 'Light Gray Wool', 'Cyan Wool', 'Purple Wool',
'Blue Wool', 'Brown Wool', 'Green Wool', 'Red Wool', 'Black Wool',
},
['Dyed Bed'] = {
'Orange Bed', 'Magenta Bed', 'Light Blue Bed', 'Yellow Bed', 'Lime Bed',
'Pink Bed', 'Gray Bed', 'Light Gray Bed', 'Cyan Bed', 'Purple Bed',
'Blue Bed', 'Brown Bed', 'Green Bed', 'Red Bed', 'Black Bed',
},
['Dyed Carpet'] = {
'Orange Carpet', 'Magenta Carpet', 'Light Blue Carpet', 'Yellow Carpet', 'Lime Carpet',
'Pink Carpet', 'Gray Carpet', 'Light Gray Carpet', 'Cyan Carpet', 'Purple Carpet',
'Blue Carpet', 'Brown Carpet', 'Green Carpet', 'Red Carpet', 'Black Carpet',
},
['Dyed Terracotta'] = {
'White Terracotta', 'Orange Terracotta', 'Magenta Terracotta', 'Light Blue Terracotta',
'Yellow Terracotta', 'Lime Terracotta', 'Pink Terracotta', 'Gray Terracotta',
'Light Gray Terracotta', 'Cyan Terracotta', 'Purple Terracotta', 'Blue Terracotta',
'Brown Terracotta', 'Green Terracotta', 'Red Terracotta', 'Black Terracotta',
},
['Dyed Candle'] = {
'White Candle', 'Orange Candle', 'Magenta Candle', 'Light Blue Candle',
'Yellow Candle', 'Lime Candle', 'Pink Candle', 'Gray Candle',
'Light Gray Candle', 'Cyan Candle', 'Purple Candle', 'Blue Candle',
'Brown Candle', 'Green Candle', 'Red Candle', 'Black Candle',
},
['Flower'] = { 'Oxeye Daisy', 'Cornflower', 'Lily of the Valley', 'Wither Rose', 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip', 'Azure Bluet', 'Allium', 'Blue Orchid', 'Poppy', 'Dandelion' },
['Mushroom'] = { 'Red Mushroom', 'Brown Mushroom' },
['Quartz Block'] = { 'Block of Quartz', 'Chiseled Quartz Block', 'Quartz Pillar' },
['Red Sandstone'] = { 'Red Sandstone', 'Cut Red Sandstone', 'Chiseled Red Sandstone', 'Smooth Red Sandstone' },
['Sandstone'] = { 'Sandstone', 'Cut Sandstone', 'Chiseled Sandstone', 'Smooth Sandstone' },
['Stone Bricks'] = { 'Stone Bricks', 'Mossy Stone Bricks', 'Cracked Stone Bricks', 'Chiseled Stone Bricks' },
['Stone Slab'] = { 'Stone Slab', 'Smooth Stone Slab', 'Cobblestone Slab', 'Mossy Cobblestone Slab', 'Stone Brick Slab', 'Mossy Stone Brick Slab', 'Andesite Slab', 'Polished Andesite Slab',
'Diorite Slab', 'Polished Diorite Slab', 'Granite Slab', 'Polished Granite Slab', 'Sandstone Slab', 'Cut Sandstone Slab', 'Smooth Sandstone Slab', 'Red Sandstone Slab', 'Cut Red Sandstone Slab',
'Smooth Red Sandstone Slab', 'Brick Slab', { title = 'Prismarine Slab', name = 'Prismarine Slab.gif' }, 'Prismarine Brick Slab', 'Dark Prismarine Slab', 'Nether Brick Slab', 'Red Nether Brick Slab', 'Quartz Slab',
'Smooth Quartz Slab', 'Purpur Slab', 'End Stone Brick Slab', 'Petrified Oak Slab', 'Blackstone Slab', 'Polished Blackstone Slab', 'Polished Blackstone Brick Slab' },
['Stone Stairs'] = { 'Stone Stairs', 'Cobblestone Stairs', 'Mossy Cobblestone Stairs', 'Stone Brick Stairs', 'Mossy Stone Brick Stairs', 'Andesite Stairs', 'Polished Andesite Stairs',
'Diorite Stairs', 'Polished Diorite Stairs', 'Granite Stairs', 'Polished Granite Stairs', 'Sandstone Stairs', 'Smooth Sandstone Stairs', 'Red Sandstone Stairs', 'Smooth Red Sandstone Stairs',
'Brick Stairs', { title = 'Prismarine Stairs', name = 'Prismarine Stairs.gif' }, 'Prismarine Brick Stairs', 'Dark Prismarine Stairs', 'Nether Brick Stairs', 'Red Nether Brick Stairs', 'Quartz Stairs', 'Smooth Quartz Stairs', 'Purpur Stairs',
'End Stone Brick Stairs', 'Blackstone Stairs', 'Polished Blackstone Stairs', 'Polished Blackstone Brick Stairs' },
['Purpur Block'] = { 'Purpur Block', 'Purpur Pillar' },
['Stone'] = { 'Stone', 'Andesite', 'Granite', 'Diorite', 'Polished Andesite', 'Polished Granite', 'Polished Diorite' },
['Tulip'] = { 'Red Tulip', 'Orange Tulip', 'White Tulip', 'Pink Tulip' },
['Prismarine'] = { { title = 'Prismarine', name = 'Prismarine.gif' }, 'Prismarine Bricks', 'Dark Prismarine' },
['Ore'] = { 'Coal Ore', 'Iron Ore', 'Gold Ore', 'Lapis Lazuli Ore', 'Redstone Ore', 'Emerald Ore', 'Diamond Ore', 'Nether Quartz Ore', 'Nether Gold Ore' },
['Dead Coral Block'] = { 'Dead Tube Coral Block', 'Dead Brain Coral Block', 'Dead Bubble Coral Block', 'Dead Fire Coral Block', 'Dead Horn Coral Block' },
['Coral Block'] = { 'Tube Coral Block', 'Brain Coral Block', 'Bubble Coral Block', 'Fire Coral Block', 'Horn Coral Block' },
['Dead Coral'] = { 'Dead Tube Coral', 'Dead Brain Coral', 'Dead Bubble Coral', 'Dead Fire Coral', 'Dead Horn Coral' },
['Dead Coral Fan'] = { 'Dead Tube Coral Fan', 'Dead Brain Coral Fan', 'Dead Bubble Coral Fan', 'Dead Fire Coral Fan', 'Dead Horn Coral Fan' },
['Coral'] = { 'Tube Coral', 'Brain Coral', 'Bubble Coral', 'Fire Coral', 'Horn Coral' },
['Coral Fan'] = { 'Tube Coral Fan', 'Brain Coral Fan', 'Bubble Coral Fan', 'Fire Coral Fan', 'Horn Coral Fan' },
['Wall'] = { 'Cobblestone Wall', 'Mossy Cobblestone Wall', 'Stone Brick Wall', 'Mossy Stone Brick Wall', 'Andesite Wall', 'Diorite Wall', 'Granite Wall', 'Sandstone Wall',
'Red Sandstone Wall', 'Brick Wall', { title = 'Prismarine Wall', name = 'Prismarine Wall.gif' }, 'Nether Brick Wall', 'Red Nether Brick Wall', 'End Stone Brick Wall', 'Blackstone Wall', 'Polished Blackstone Wall',
'Polished Blackstone Brick Wall' },
['Torch'] = { 'Torch', 'Soul Torch' },
['Lantern'] = { 'Lantern', 'Soul Lantern' },
['Fungus'] = { 'Crimson Fungus', 'Warped Fungus' },
['Fungi'] = { 'Crimson Fungus', 'Warped Fungus' },
['Roots'] = { 'Crimson Roots', 'Warped Roots' },
['Nylium'] = { 'Crimson Nylium', 'Warped Nylium' },
['Soul Sand'] = { 'Soul Sand', 'Soul Soil' },
['Campfire'] = { 'Campfire', 'Soul Campfire' },
['Blackstone'] = { 'Blackstone', 'Polished Blackstone', 'Chiseled Polished Blackstone', 'Polished Blackstone Bricks', 'Cracked Polished Blackstone Bricks' },
['Stone Button'] = { 'Stone Button', 'Polished Blackstone Button' },
['Stone Pressure Plate'] = { 'Stone Pressure Plate', 'Polished Blackstone Pressure Plate' },
['Nether Wood Pressure Plate'] = { 'Crimson Pressure Plate', 'Warped Pressure Plate' },
['Nether Wood Fence'] = { 'Crimson Fence', 'Warped Fence' },
['Nether Wood Trapdoor'] = { 'Crimson Trapdoor', 'Warped Trapdoor' },
['Nether Wood Fence Gate'] = { 'Crimson Fence Gate', 'Warped Fence Gate' },
['Nether Wood Stairs'] = { 'Crimson Stairs', 'Warped Stairs' },
['Nether Wood Door'] = { 'Crimson Door', 'Warped Door' },
['Nether Wood Sign'] = { 'Crimson Sign', 'Warped Sign' },
}
table.insert( itemVariants['Dye'], 1, 'White Dye' )
for aliasName, aliasItems in pairs( itemVariants ) do
aliases['Any ' .. aliasName] = aliasItems
aliases['Matching ' .. aliasName] = aliasItems
end
-- Copper --
local copperstuff = {
['Matching (Weathered) Copper Block'] = {'Copper Block', 'Lightly Weathered Copper Block', 'Semi-Weathered Copper Block', 'Weathered Copper BlocK'},
['Matching (Weathered) Cut Copper'] = {'Cut Copper', 'Lightly Weathered Cut Copper', 'Semi-Weathered Cut Copper', 'Weathered Cut Copper'},
['Matching Waxed (Weathered) Copper Block'] = {'Waxed Copper Block', 'Waxed Lightly Weathered Copper Block', 'Waxed Semi-Weathered Copper Block'},
['Matching Waxed (Weathered) Cut Copper'] = {'Waxed Cut Copper', 'Waxed Lightly Weathered Cut Copper', 'Waxed Semi-Weathered Cut Copper'},
}
local function map(tbl, f)
local t = {}
for k,v in pairs(tbl) do
t[k] = f(v)
end
return t
end
for k, v in pairs(copperstuff) do
aliases[k] = v
local k1 = k:gsub(' Block$', '')
local v1 = map(v, function(s) return s:gsub(' Block$', '') end)
aliases[k1 .. 'Slab'] = map(v1, function(s) return s .. 'Slab' end)
aliases[k1 .. 'Stairs'] = map(v1, function(s) return s .. 'Stairs' end)
end
-- Discs --
local discs = {
{ '13', 'C418', },
{ 'Cat', 'C418', 'cat' },
{ 'Blocks', 'C418', 'blocks' },
{ 'Chirp', 'C418', 'chirp' },
{ 'Far', 'C418', 'far' },
{ 'Mall', 'C418', 'mall' },
{ 'Mellohi', 'C418', 'mellohi' },
{ 'Stal', 'C418', 'stal' },
{ 'Strad', 'C418', 'strad' },
{ 'Ward', 'C418', 'ward' },
{ '11', 'C418', },
{ 'Wait', 'C418', 'wait' },
{ 'Pigstep', 'Lena Raine', },
}
for _, disc in ipairs( discs ) do
local name = 'Music Disc ' .. disc[1]
local artist = disc[2]
local trackname = disc[1]
if disc[3] ~= nil then
trackname = disc[3]
end
aliases[name] = { title = '&b음반', name = name, text = '&7' .. artist .. ' - ' .. trackname }
end
-- Damaged armor, tools and weapons --
local damagedItems = {
'Bow',
'Carrot on a Stick',
'Chainmail Boots',
'Chainmail Chestplate',
'Chainmail Helmet',
'Chainmail Leggings',
'Crossbow',
'Diamond Axe',
'Diamond Boots',
'Diamond Chestplate',
'Diamond Helmet',
'Diamond Hoe',
'Diamond Leggings',
'Diamond Pickaxe',
'Diamond Shovel',
'Diamond Sword',
'Elytra',
'Fishing Rod',
'Flint and Steel',
'Golden Axe',
'Golden Boots',
'Golden Chestplate',
'Golden Helmet',
'Golden Hoe',
'Golden Leggings',
'Golden Pickaxe',
'Golden Shovel',
'Golden Sword',
'Iron Axe',
'Iron Boots',
'Iron Chestplate',
'Iron Helmet',
'Iron Hoe',
'Iron Leggings',
'Iron Pickaxe',
'Iron Shovel',
'Iron Sword',
'Leather Boots',
'Leather Tunic',
'Leather Cap',
'Leather Pants',
'Netherite Axe',
'Netherite Boots',
'Netherite Chestplate',
'Netherite Helmet',
'Netherite Hoe',
'Netherite Leggings',
'Netherite Pickaxe',
'Netherite Shovel',
'Netherite Sword',
'Shears',
'Shield',
'Stone Axe',
'Stone Hoe',
'Stone Pickaxe',
'Stone Shovel',
'Stone Sword',
'Wooden Axe',
'Wooden Hoe',
'Wooden Pickaxe',
'Wooden Shovel',
'Wooden Sword'
}
for _, item in ipairs( damagedItems ) do
local name = 'Damaged ' .. item
aliases[name] = { title = Autolink.invlink(item, 'nolink'), name = name }
end
-- Banners and colored items --
local patterns = {
'Base Dexter Canton',
'Base',
'Base Gradient',
'Base Indented',
'Base Sinister Canton',
'Bend',
'Bend Sinister',
'Bordure',
'Bordure Indented',
'Chevron',
'Chief Dexter Canton',
'Chief',
'Chief Indented',
'Chief Sinister Canton',
'Creeper Charge',
'Cross',
'Fess',
'Field Masoned',
'Flower Charge',
'Globe',
'Gradient',
'Inverted Chevron',
'Lozenge',
'Thing',
'Pale',
'Pale Dexter',
'Pale Sinister',
'Paly',
'Per Bend',
'Per Bend Inverted',
'Per Bend Sinister',
'Per Bend Sinister Inverted',
'Per Fess',
'Per Fess Inverted',
'Per Pale',
'Per Pale Inverted',
'Piglin',
'Snout',
'Roundel',
'Saltire',
'Skull Charge'
}
-- 한국어 현수막 패턴 이름 --
local patterns_ko = {
'Base Dexter Canton',
'Base',
'Base Gradient',
'Base Indented',
'Base Sinister Canton',
'Bend',
'Bend Sinister',
'Bordure',
'Bordure Indented',
'Chevron',
'Chief Dexter Canton',
'Chief',
'Chief Indented',
'Chief Sinister Canton',
'Creeper Charge',
'Cross',
'Fess',
'Field Masoned',
'Flower Charge',
'Globe',
'Gradient',
'Inverted Chevron',
'Lozenge',
'Thing',
'Pale',
'Pale Dexter',
'Pale Sinister',
'Paly',
'Per Bend',
'Per Bend Inverted',
'Per Bend Sinister',
'Per Bend Sinister Inverted',
'Per Fess',
'Per Fess Inverted',
'Per Pale',
'Per Pale Inverted',
'Piglin',
'Snout',
'Roundel',
'Saltire',
'Skull Charge'
}
local colors = {
'White',
'Orange',
'Magenta',
'Light Blue',
'Yellow',
'Lime',
'Pink',
'Gray',
'Light Gray',
'Cyan',
'Purple',
'Blue',
'Brown',
'Green',
'Red',
'Black'
}
local colorc = {
'하얀색',
'주황색',
'자홍색',
'하늘색',
'노란색',
'연두색',
'분홍색',
'회색',
'회백색',
'청록색',
'보라색',
'파란색',
'갈색',
'초록색',
'빨간색',
'검은색',
}
-- Firework Stars --
local fireworkStar = {}
for i, color in ipairs( colors ) do
local name = color .. ' Firework Star'
aliases[name] = { title = '폭죽 탄약', name = name, text = '&7' .. colorc[i] }
table.insert( fireworkStar, aliases[name] )
for _, pattern in ipairs( patterns ) do
name = color .. ' ' .. pattern .. ' Banner'
local text = ''
if patterns_ko[_]:find( '%$1' ) then
text = string.gsub( patterns_ko[_], '%$1', colorc[i] )
end
aliases[name] = { title = '현수막', name = name, text = '&7' .. text }
end
end
aliases['Any Firework Star'] = fireworkStar
aliases['Matching Firework Star'] = fireworkStar
-- Items that use the sixteen colors --
local coloredItems = {
'Balloon',
'Banner',
'Bed',
'Carpet',
'Concrete',
'Concrete Powder',
'Glazed Terracotta',
'Hardened $1 Stained Glass',
'Hardened $1 Stained Glass Pane',
'Shield',
'Shulker Box',
'Stained Glass',
'Stained Glass Pane',
'Wool'
}
for _, item in ipairs( coloredItems ) do
local coloredItemAliases = {}
local itemName = ''
for _, color in ipairs( colors ) do
if item:find( '%$1' ) then
itemName = item:gsub( '%$1', color )
else
itemName = color .. ' ' .. item
end
table.insert( coloredItemAliases, itemName )
end
item = item:gsub( '%$1 ', '')
aliases['Any ' .. item] = coloredItemAliases
aliases['Matching ' .. item] = coloredItemAliases
end
-- list of all potions with no effects
local noEffects = {
'Water Bottle',
'Awkward Potion',
'Thick Potion',
'Mundane Potion',
'Uncraftable Potion',
'Splash Water Bottle',
'Awkward Splash Potion',
'Thick Splash Potion',
'Mundane Splash Potion',
'Uncraftable Splash Potion',
'Lingering Water Bottle',
'Awkward Lingering Potion',
'Thick Lingering Potion',
'Mundane Lingering Potion',
'Uncraftable Lingering Potion',
'Tipped Arrow',
'Arrow of Splashing',
'Uncraftable Tipped Arrow',
}
for _, name in ipairs(noEffects) do
aliases[name] = { name = name, text = '&7효과 없음' }
end
-- start these lists with the no effect items as names are not normal
local potionItems = {
['Potion'] = {
aliases['Water Bottle'],
aliases['Awkward Potion'],
aliases['Thick Potion'],
aliases['Mundane Potion'],
},
['Splash Potion'] = {
aliases['Splash Water Bottle'],
aliases['Awkward Splash Potion'],
aliases['Thick Splash Potion'],
aliases['Mundane Splash Potion'],
},
['Lingering Potion'] = {
aliases['Lingering Water Bottle'],
aliases['Awkward Lingering Potion'],
aliases['Thick Lingering Potion'],
aliases['Mundane Lingering Potion'],
},
['Tipped Arrow'] = {
aliases['Arrow of Splashing'],
aliases['Tipped Arrow'],
aliases['Tipped Arrow'],
aliases['Tipped Arrow'],
},
}
-- Potions --
local effects = {
-- durations are in the order normal, extended, enhanced
{name = 'Regeneration', effect = '&9재생', enhanced = 'II',
durations = { normal = { '0:45', '1:30', '0:22' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}},
{ name = 'Swiftness', effect = '&9속도 증가', enhanced = 'II',
durations = { normal = { '3:00', '8:00', '1:30' }, lingering = { '0:45', '2:00', '0:22' }, arrow = { '0:22', '1:00', '0:11' }}},
{ name = 'Fire Resistance', effect = '&9화염 저항', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
{ name = 'Poison', effect = '&c맹독', enhanced = 'II',
durations = { normal = { '0:45', '1:30', '0:21' }, lingering = { '0:11', '0:22', '0:05' }, arrow = { '0:05', '0:11', '0:02' }}},
{ name = 'Healing', effect = '&9즉시 회복', enhanced = 'II' },
{ name = 'Night Vision', effect = '&9야간 투시', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
{ name = 'Weakness', effect = '&c나약함', durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
{ name = 'Strength', effect = '&9힘', enhanced = 'II',
durations = { normal = { '3:00', '8:00', '1:30'}, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}},
{ name = 'Slowness', effect = '&c속도 감소', enhanced = 'IV',
durations = { normal = { '1:30', '4:00', '0:20'}, lingering = {'0:22', '1:00', '0:05'}, arrow = { '0:11', '0:30', '0:02' }}},
{ name = 'Leaping', effect = '&9점프 강화', enhanced = 'II',
durations = { normal = { '3:00', '8:00', '1:30' }, lingering = {'0:45', '2:00', '0:22'}, arrow = { '0:22', '1:00', '0:11' }}},
{ name = 'Harming', effect = '&c즉시 피해', enhanced = 'II' },
{ name = 'Water Breathing', effect = '&9수중 호흡', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
{ name = 'Invisibility', effect = '&9투명화', durations = { normal = { '3:00', '8:00' }, lingering = { '0:45', '2:00' }, arrow = { '0:22', '1:00' }}},
{ name = 'Slow Falling', effect = '&9느린 낙하', durations = { normal = { '1:30', '4:00' }, lingering = { '0:22', '1:00' }, arrow = { '0:11', '0:30' }}},
{ name = 'Luck', effect = '&9행운', durations = { normal = { '5:00' }, lingering = { '1:15' }, arrow = { '0:37' }}},
{ name = 'Decay', effect = '&c시듦', durations = { normal = { '0:40' }, lingering = { '0:10' }, arrow = { '0:05' }}},
{ name = 'the Turtle Master', text = '&c속도 감소 IV ($1)/&9저항 III ($1)', enhanced = '&c속도 감소 VI ($1)/&9저항 IV ($1)',
durations = { normal = { '0:20', '0:40', '0:20' }, lingering = { '0:15', '0:45', '0:15' }, arrow = { '0:07', '0:22', '0:07' }}}
}
local types = {
{name = 'Potion', durations = 'normal', text = 'Potion of '},
{name = 'Splash Potion', durations = 'normal', text = 'Splash Potion of '},
{name = 'Lingering Potion', durations = 'lingering', text = 'Lingering Potion of '},
{name = 'Tipped Arrow', durations = 'arrow', text = 'Arrow of '},
}
for _, effect in ipairs(effects) do
for _, type in ipairs(types) do
-- form name, it will be reused
local name = type.text .. effect.name
local potionName = {}
if type.name == 'Tipped Arrow' then
potionName = type.text .. effect.name
else
potionName = type.text .. effect.name .. '.gif'
end
-- if we have durations, add times
if effect.durations then
local durations = effect.durations[type.durations]
-- turtle master is weird, so just do a fancy string replacement
if effect.text then
aliases[name] = { name = potionName, text = effect.text:gsub( '%$1', durations[1] ) }
aliases[name .. ' Extended'] = { name = potionName, text = effect.text:gsub( '%$1', durations[2] ) }
aliases[name .. ' Enhanced'] = { name = potionName, text = effect.enhanced:gsub( '%$1', durations[3] ) }
else
-- we always have normal
aliases[name] = { name = potionName, text = string.format( '%s (%s)', effect.effect, durations[1] ) }
-- ensure we have extended
if durations[2] then
aliases[name .. ' Extended'] = { name = potionName, text = string.format( '%s (%s)', effect.effect, durations[2] ) }
-- and enhanced, currently there is nothing with a duration that can be extended but not enhanced
if effect.enhanced then
aliases[name .. ' Enhanced'] = { name = potionName, text = string.format( '%s %s (%s)', effect.effect, effect.enhanced, durations[3] ) }
end
end
end
else
-- otherwise its just effect, currently every potion with no duration can be enhanced
aliases[name] = { name = potionName, text = effect.effect}
aliases[name .. ' Enhanced'] = { name = potionName, text = effect.effect .. ' ' .. effect.enhanced }
end
-- add the base potion to the any list
table.insert(potionItems[type.name], aliases[name])
end
end
-- build the any lists
for item, potionAliases in pairs( potionItems ) do
aliases['Any ' .. item] = potionAliases
aliases['Matching ' .. item] = potionAliases
end
-- Wood --
local woodTypes = {
overworld = {
'Oak',
'Spruce',
'Birch',
'Jungle',
'Acacia',
'Dark Oak',
},
nether = {
'Crimson',
'Warped'
},
both = {},
}
local woodTypeWorld = {}
for _, world in ipairs({'overworld', 'nether'}) do
local woods = woodTypes[world]
for _, type in ipairs(woods) do
woodTypeWorld[type] = world
table.insert(woodTypes.both, type)
end
end
local woodItems = {
overworld = {
'Wood',
'Log',
'Boat',
'Stripped $1 Log',
'Stripped $1 Wood',
'Wood Planks',
'Wood Slab',
'Wood Stairs',
'Wood Pressure Plate',
'Wood Button',
'Wood Door',
'Wood Trapdoor',
'Wood Fence Gate',
'Wood Fence',
'Wood Sign',
'Sapling',
},
nether = {
'Stem',
'Hyphae',
'Stripped $1 Stem',
'Stripped $1 Hyphae',
},
both = {
'$world Planks',
'${Wood,Hyphae}',
'${Log,Stem}',
'Stripped $1 ${Wood,Hyphae}',
'Stripped $1 ${Log,Stem}',
'Fence Gate',
-- '$world Wood Fence',
'$wood Fence',
'$wood Door',
'$wood Button',
'$wood Pressure Plate',
'$wood Trapdoor',
'$world $wood Slab',
'$wood Stairs',
'Sign'
}
}
local woodItemWorld = {}
for world, items in pairs(woodItems) do
for _, item in ipairs(items) do
-- expand $world (should only happen in "both")
if (item:find('%$world')) and world == 'both' then
item = item:gsub('%$world ', '')
woodItemWorld['Overworld ' .. item] = 'overworld'
woodItemWorld['Nether ' .. item] = 'nether'
end
woodItemWorld[item] = world
end
end
for item, world in pairs(woodItemWorld) do
local itemName = ''
local woodAliases = {}
-- real "linkable" name
local realItem = item:gsub('^Overworld ', '')
realItem = realItem:gsub('^Nether ', '')
for _, wood in ipairs(woodTypes[world]) do
-- Parse ${,} (world-select) syntax
local selector = (woodTypeWorld[wood] == 'overworld') and "%1" or "%2"
itemName = realItem:gsub("%${(.-),(.-)}", selector)
if itemName:find('%$wood') then
itemName = itemName:gsub('%$wood', wood)
elseif itemName:find('%$1') then
itemName = itemName:gsub( '%$1', wood)
else
itemName = wood .. ' ' .. itemName
end
table.insert(woodAliases, itemName)
end
-- Parse ${,} (world-select) syntax
item = item:gsub("%${(.-),(.-)}", "%1 or %2")
item = item:gsub('%$wood ', 'wood ')
item = item:gsub('%$1 ', '')
aliases['Any ' .. item] = woodAliases
aliases['Matching ' .. item] = woodAliases
end
-- Bedrock Edition Items --
local editionItems = {
BE = {
'Acacia Fence Gate',
'Birch Fence Gate',
'Bow',
'Bucket of Pufferfish',
'Bucket of Tropical Fish',
'Chest',
'Creeper Head',
'Crimson Fence Gate',
'Dark Oak Fence Gate',
'Dragon Head',
'End Gateway',
'End Portal',
'Ender Chest',
'Flowing Lava',
'Glass Pane',
'Head',
'Honey Block',
'Horn Coral Block',
'Iron Bars',
'Jigsaw Block',
'Jungle Fence Gate',
'Lava',
'Map',
'Minecart with Command Block',
'Oak Fence Gate',
'Observer',
'Ocean Explorer Map',
'Peony',
'Rose Bush',
'Scaffolding',
'Skeleton Skull',
'Spawn Cat',
'Spawn Panda',
'Spawn Wandering Trader',
'Spruce Fence Gate',
'Stonecutter',
'Structure Void',
'Warped Fence Gate',
'Wither Skeleton Skull',
'Woodland Explorer Map',
'Zombie Head',
'Conduit',
},
LCE = {
'Peony',
'Rose Bush',
'Shrub'
}
}
for edition, items in pairs(editionItems) do
for _, item in ipairs(items) do
local name = item .. ' ' .. edition
aliases[name] = { title = item, name = name }
end
end
-- Bedrock Light blocks
for level = 0, 15 do
aliases["Light Block " .. level] = {title = "광원 블록", name = "Light Block " .. level}
end
return aliases