diff --git a/CHANGELOG.md b/CHANGELOG.md index de8fd62dc..23f526923 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,11 +23,15 @@ ## Release Candidate 16 (TBD) +#### Additions +* Added an option for Industrial Miners to mine Ancient Debris + #### Changes * Performance improvement for Programmable Android rotations #### Fixes * Fixed Programmable Androids rotating in the wrong direction +* Fixed #2176 ## Release Candidate 15 (01 Aug 2020) diff --git a/pom.xml b/pom.xml index 0259e7b42..12c6a8e0d 100644 --- a/pom.xml +++ b/pom.xml @@ -330,7 +330,7 @@ com.konghq unirest-java - 3.8.06 + 3.9.00 com.google.code.gson diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/Translators.java b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/Translators.java index f44127127..27006d207 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/Translators.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/core/services/localization/Translators.java @@ -128,6 +128,7 @@ public class Translators { addTranslator("yumjunstar", SupportedLanguage.KOREAN, true); addTranslator("BlWon", SupportedLanguage.KOREAN, true); addTranslator("20181241", SupportedLanguage.KOREAN, true); + addTranslator("kudansul", SupportedLanguage.KOREAN, true); // Translators - Indonesian addTranslator("diradho", SupportedLanguage.INDONESIAN, false); diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/miner/IndustrialMiner.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/miner/IndustrialMiner.java index deb98ba23..8dba2f29e 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/miner/IndustrialMiner.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/multiblocks/miner/IndustrialMiner.java @@ -7,6 +7,7 @@ import java.util.Map; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; +import io.github.thebusybiscuit.slimefun4.api.items.ItemSetting; import org.apache.commons.lang.Validate; import org.bukkit.Location; import org.bukkit.Material; @@ -47,6 +48,7 @@ public class IndustrialMiner extends MultiBlockMachine { private final int range; private final boolean silkTouch; + private final ItemSetting canMineAncientDebris = new ItemSetting<>("can-mine-ancient-debris", false); public IndustrialMiner(Category category, SlimefunItemStack item, Material baseMaterial, boolean silkTouch, int range) { super(category, item, new ItemStack[] { null, null, null, new CustomItem(Material.PISTON, "Piston (facing up)"), new ItemStack(Material.CHEST), new CustomItem(Material.PISTON, "Piston (facing up)"), new ItemStack(baseMaterial), new ItemStack(SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_14) ? Material.BLAST_FURNACE : Material.FURNACE), new ItemStack(baseMaterial) }, BlockFace.UP); @@ -55,6 +57,7 @@ public class IndustrialMiner extends MultiBlockMachine { this.silkTouch = silkTouch; registerDefaultFuelTypes(); + addItemSetting(canMineAncientDebris); } /** @@ -128,6 +131,8 @@ public class IndustrialMiner extends MultiBlockMachine { return new ItemStack(Material.REDSTONE, 4 + random.nextInt(2)); case LAPIS_ORE: return new ItemStack(Material.LAPIS_LAZULI, 4 + random.nextInt(4)); + case ANCIENT_DEBRIS: + return new ItemStack(Material.ANCIENT_DEBRIS); default: // This includes Iron and Gold ore return new ItemStack(ore); @@ -207,7 +212,7 @@ public class IndustrialMiner extends MultiBlockMachine { * @return Whether this {@link IndustrialMiner} is capable of mining this {@link Material} */ public boolean canMine(Material type) { - return type.name().endsWith("_ORE"); + return type.name().endsWith("_ORE") || (type == Material.ANCIENT_DEBRIS && canMineAncientDebris.getValue()); } } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/setup/SlimefunItemSetup.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/setup/SlimefunItemSetup.java index 05c37852d..607c000ee 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/setup/SlimefunItemSetup.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/setup/SlimefunItemSetup.java @@ -202,7 +202,7 @@ public final class SlimefunItemSetup { private static final Material BLACK_DYE; private static final Material GREEN_DYE; - private static boolean alreadyRan = false; + private static boolean registeredItems = false; static { if (SlimefunPlugin.getMinecraftVersion().isAtLeast(MinecraftVersion.MINECRAFT_1_14)) { @@ -222,11 +222,11 @@ public final class SlimefunItemSetup { private SlimefunItemSetup() {} public static void setup(SlimefunPlugin plugin) { - if (alreadyRan) { + if (registeredItems) { throw new UnsupportedOperationException("Slimefun Items can only be registered once!"); } - alreadyRan = true; + registeredItems = true; DefaultCategories categories = new DefaultCategories(); new SlimefunItem(categories.weapons, SlimefunItems.GRANDMAS_WALKING_STICK, RecipeType.ENHANCED_CRAFTING_TABLE, @@ -2090,7 +2090,8 @@ public final class SlimefunItemSetup { .register(plugin); new SlimefunItem(categories.technicalComponents, SlimefunItems.PLASTIC_SHEET, RecipeType.HEATED_PRESSURE_CHAMBER, - new ItemStack[] {null, null, null, null, SlimefunItems.OIL_BUCKET, null, null, null, null}) + new ItemStack[] {null, null, null, null, SlimefunItems.OIL_BUCKET, null, null, null, null}, + new SlimefunItemStack(SlimefunItems.PLASTIC_SHEET, 8)) .register(plugin); new UnplaceableBlock(categories.technicalComponents, SlimefunItems.ANDROID_MEMORY_CORE, RecipeType.ENHANCED_CRAFTING_TABLE, @@ -2782,7 +2783,8 @@ public final class SlimefunItemSetup { new RadioactiveItem(categories.resources, Radioactivity.VERY_HIGH, SlimefunItems.ENRICHED_NETHER_ICE, RecipeType.HEATED_PRESSURE_CHAMBER, new ItemStack[] {SlimefunItems.NETHER_ICE, SlimefunItems.PLUTONIUM, null, null, null, null, null, null, null}, - new SlimefunItemStack(SlimefunItems.ENRICHED_NETHER_ICE, 4)).register(plugin); + new SlimefunItemStack(SlimefunItems.ENRICHED_NETHER_ICE, 4)) + .register(plugin); new ElevatorPlate(categories.gps, SlimefunItems.ELEVATOR_PLATE, RecipeType.ENHANCED_CRAFTING_TABLE, new ItemStack[] {null, new ItemStack(Material.STONE_PRESSURE_PLATE), null, new ItemStack(Material.PISTON), SlimefunItems.ELECTRIC_MOTOR, new ItemStack(Material.PISTON), SlimefunItems.ALUMINUM_BRONZE_INGOT, SlimefunItems.ALUMINUM_BRONZE_INGOT, SlimefunItems.ALUMINUM_BRONZE_INGOT}, diff --git a/src/main/resources/languages/researches_ko.yml b/src/main/resources/languages/researches_ko.yml index 16aef3b19..65e136aaa 100644 --- a/src/main/resources/languages/researches_ko.yml +++ b/src/main/resources/languages/researches_ko.yml @@ -1,17 +1,8 @@ --- slimefun: walking_sticks: 지팡이 - steel_thruster: 강철 스러스터 - elemental_staff: 원소 지팡이 - cactus_armor: 선인장 갑옷 - fire_staff: 불 지팡이 - fire_talisman: 소방사의 부적 - lumber_axe: 재목 도끼 - water_staff: 물 지팡이 - 24k_gold_block: 금으로 만든 도시 - woven_backpack: 천 가방 - wither_proof_glass: 위더-방어 유리 portable_crafter: 휴대용 조합대 + fortune_cookie: 포춘 쿠키 portable_dustbin: 휴대용 쓰래기통 meat_jerky: 고기 육포 armor_forge: 갑옷 제작 @@ -31,12 +22,16 @@ slimefun: misc_power_items: 중요한 전원 관련 항목 battery: 첫 번째 배터리 steel_plate: 강철 도금 + steel_thruster: 강철 스러스터 parachute: 낙하산 grappling_hook: 갈고리 훅 jetpacks: 제트팩 multitools: 멀티 툴 solar_panel_and_helmet: 태양 광 발전 + elemental_staff: 원소 지팡이 grind_stone: 맷돌 + cactus_armor: 선인장 갑옷 + gold_pan: 금 냄비(Gold Pan) magical_book_cover: 마법책 바인딩 slimefun_metals: 새로운 금속 ore_crusher: 광석 더블링 @@ -45,15 +40,19 @@ slimefun: compressor_and_carbon: 탄소 제작 gilded_iron_armor: 금빛 철갑옷 synthetic_diamond: 인조 다이아몬드 + pressure_chamber: 압력 챔버(Pressure Chamber) synthetic_sapphire: 인조 사파이어 damascus_steel: 다마스쿠스 강 damascus_steel_armor: 다마스쿠스 강 갑옷 reinforced_alloy: 강화 합금 carbonado: 블랙 다이아몬드 + magic_workbench: 마법 조합대(Magic Workbench) wind_staff: 바람 지팡이 reinforced_armor: 강화 갑옷 + ore_washer: 광물 세척기(Ore Washer) gold_carats: 순금 silicon: 실리콘 밸리 + fire_staff: 불 지팡이 smelters_pickaxe: 제련 곡괭이 common_talisman: 부적 anvil_talisman: 모루의 부적 @@ -62,6 +61,7 @@ slimefun: lava_talisman: 용암 걷기 부적 water_talisman: 물 숨결의 부적 angel_talisman: 천사의 부적 + fire_talisman: 소방사의 부적 lava_crystal: 화끈한 상황 magician_talisman: 마술사의 부적 traveller_talisman: 여행자의 부적 @@ -72,6 +72,9 @@ slimefun: chainmail_armor: 사슬 갑옷 whirlwind_talisman: 회오리 바람의 부적 wizard_talisman: 마법사의 부적 + lumber_axe: 재목 도끼 + hazmat_suit: 방호복 + uranium: 방사능 crushed_ore: 광석 정화 redstone_alloy: 레드스톤 합금 carbonado_tools: 최고의 기계 @@ -83,6 +86,8 @@ slimefun: table_saw: 테이블 톱 slime_steel_armor: 칙칙한 강철 갑옷 blade_of_vampires: 뱀파이어의 검 + water_staff: 물 지팡이 + 24k_gold_block: 금으로 만든 도시 composter: 퇴비 흙 farmer_shoes: 농부 신발 explosive_tools: 폭발성 도구 @@ -90,6 +95,7 @@ slimefun: boots_of_the_stomper: 스톰 퍼의 장화 pickaxe_of_the_seeker: 추적자의 곡괭이 backpacks: 가방 + woven_backpack: 천 가방 crucible: 도가니 gilded_backpack: Gilded 가방 armored_jetpack: 기갑 제트팩 @@ -102,13 +108,20 @@ slimefun: bound_backpack: Soulbound 스토리지 jetboots: 제트 부츠 armored_jetboots: 기갑 제트 부츠 + seismic_axe: 지진 도끼 pickaxe_of_vein_mining: 베인마이닝 곡괭이 bound_weapons: 소울 바운드 무기 bound_tools: 소울 바운드 도구 bound_armor: 영혼의 갑옷 juicer: 맛있는 음료 repaired_spawner: 스포너 수리 + enhanced_furnace: 강화된 화로(Enhanced Furnace) + more_enhanced_furnaces: 더 나은 화로(Better Furnaces) + high_tier_enhanced_furnaces: 고 티어 화로(High Tier Furnace) + reinforced_furnace: 강화 화로(Reinforced Furnace) + carbonado_furnace: 카본 엣지 화로(Carbonado Edged Furnace) electric_motor: 가열 + block_placer: 블럭 설치기(Block Placer) scroll_of_dimensional_teleposition: 주변을 돌리다 special_bows: 로빈 후드 tome_of_knowledge_sharing: 친구들과 공유 @@ -123,97 +136,64 @@ slimefun: infernal_bonemeal: 지옥 불 정령 rainbow_blocks: 레인보우 블록 infused_hopper: 주입 호퍼 + wither_proof_glass: 위더-방어 유리 duct_tape: 덕트 테이프 plastic_sheet: 플라스틱 android_memory_core: 메모리 코어 oil: 기름 fuel: 연료 hologram_projector: 홀로그램 - solar_generators: 태양 광 발전소 - electric_ore_grinding: 분쇄 및 연삭 - multimeter: 전력 측정 - gps_setup: 기본 GPS 설정 - gps_emergency_transmitter: GPS 비상 웨이포인트 - android_interfaces: 안드로이드 인터페이스 - geo_scanner: GEO 스캔 - teleporter: 텔레 포터 기본 구성 요소 - teleporter_activation_plates: 텔레포트기 활성화 - better_gps_transmitters: 업그레이드 된 송신기 - elevator: 엘리베이터 - energized_solar_generator: 풀 타임 태양 광 발전 - energized_gps_transmitter: 최상위 송신기 - energy_regulator: 에너지 네트워크 101 - organic_food: 유기농 식품 - auto_breeder: 자동 공급 - organic_fertilizer: 유기 비료 - reactor_essentials: 원자로 기초 - nuclear_reactor: 원자력 발전소 - freezer: Mr 프리즈 - cargo_basics: 화물 기본 - cargo_nodes: 화물 설정 - better_food_fabricator: 업그레이드 된 식품 제조 - reactor_access_port: 원자로 상호 작용 - boosted_uranium: 네버엔딩 서클 - trash_can: 폐물 - advanced_output_node: 고급 출력 노드 - high_tier_carbon_press: 궁극의 탄소 프레스 - wither_assembler: 자동 위더 킬러 - better_heated_pressure_chamber: 업그레이드 된 가열 압력 챔버 - better_electric_crucibles: 뜨거운 도가니 - advanced_electric_smeltery: 고급 전기 제련소 - blistering_ingots: 맹렬한 방사능 - copper_wire: 얇아진 전도성 - radiant_backpack: 빛나는 배낭 - auto_drier: 건조한 날 - diet_cookie: 다이어트 쿠키 - soulbound_rune: 영혼의 룬 - geo_miner: GEO-마이너 - lightning_rune: 번개 룬 - totem_of_undying: 불멸의 토템 - magnesium_generator: 마그네슘의 힘 - kelp_cookie: 맛있는 다시마 - fortune_cookie: 포춘 쿠키 - hazmat_suit: 방호복 - uranium: 방사능 - seismic_axe: 지진 도끼 capacitors: 1티어 건전지 high_tier_capacitors: 2티어 건전지 + solar_generators: 태양 광 발전소 electric_furnaces: 전자 화로 - high_tier_electric_ingot_machines: 초고속 주괴 제작 - elytra: 겉날개 - special_elytras: 특별한 겉날개 - nether_ice: 지옥 얼음 냉각수 - storm_staff: 폭풍의 막대기 - gold_pan: 금 냄비(Gold Pan) - pressure_chamber: 압력 챔버(Pressure Chamber) - magic_workbench: 마법 조합대(Magic Workbench) - ore_washer: 광물 세척기(Ore Washer) - enhanced_furnace: 강화된 화로(Enhanced Furnace) - more_enhanced_furnaces: 더 나은 화로(Better Furnaces) - high_tier_enhanced_furnaces: 고 티어 화로(High Tier Furnace) - reinforced_furnace: 강화 화로(Reinforced Furnace) - carbonado_furnace: 카본 엣지 화로(Carbonado Edged Furnace) - block_placer: 블럭 설치기(Block Placer) + electric_ore_grinding: 분쇄 및 연삭 heated_pressure_chamber: 가열 압력 챔버(Heated Pressure Chamber) coal_generator: 석탄 발전기(Coal Generator) bio_reactor: 바이오 원자로(Bio-Reactor) auto_enchanting: 자동 마법 부여 및 마력 추출(Automatic Enchanting and Disenchanting) auto_anvil: 자동 모루(Automatic Anvil) + multimeter: 전력 측정 + gps_setup: 기본 GPS 설정 + gps_emergency_transmitter: GPS 비상 웨이포인트 programmable_androids: 프로그래밍 가능한 안드로이드(Programmable Androids) + android_interfaces: 안드로이드 인터페이스 + geo_scanner: GEO 스캔 combustion_reactor: 연소 반응기(Combustion Reactor) + teleporter: 텔레 포터 기본 구성 요소 + teleporter_activation_plates: 텔레포트기 활성화 better_solar_generators: 업그레이드 된 태양 광 발전기(Upgraded Solar Generators) + better_gps_transmitters: 업그레이드 된 송신기 + elevator: 엘리베이터 + energized_solar_generator: 풀 타임 태양 광 발전 + energized_gps_transmitter: 최상위 송신기 + energy_regulator: 에너지 네트워크 101 butcher_androids: 정육점 안드로이드(Butcher Androids) + organic_food: 유기농 식품 + auto_breeder: 자동 공급 advanced_android: 고급 안드로이드(Advanced Androids) advanced_butcher_android: 고급 안드로이드-정육점(Advanced Androids - Butcher) advanced_fisherman_android: 고급 안드로이드-어부(Advanced Androids - Fisherman) animal_growth_accelerator: 동물 성장 조작(Animal Growth Manipulation) xp_collector: XP 수집기(XP Collector) + organic_fertilizer: 유기 비료 crop_growth_accelerator: 작물 성장 촉진(Crop Growth Acceleration) better_crop_growth_accelerator: 업그레이드 된 작물 성장 촉진제(Upgraded Crop Growth Accelerator) + reactor_essentials: 원자로 기초 + nuclear_reactor: 원자력 발전소 + freezer: Mr 프리즈 + cargo_basics: 화물 기본 + cargo_nodes: 화물 설정 electric_ingot_machines: 전자 주괴 제작(Electric Ingot Fabrication) + high_tier_electric_ingot_machines: 초고속 주괴 제작 automated_crafting_chamber: 자동화 조합대(Automated Crafting) + better_food_fabricator: 업그레이드 된 식품 제조 + reactor_access_port: 원자로 상호 작용 fluid_pump: 유체 펌프(Fluid Pump) better_freezer: 업그레이드 된 냉동고(Upgraded Freezer) + boosted_uranium: 네버엔딩 서클 + trash_can: 폐물 + advanced_output_node: 고급 출력 노드 carbon_press: 탄소 프레스(Carbon Press) electric_smeltery: 전기 제련소(Electric Smeltery) better_electric_furnace: 업그레이드 된 전기로(Upgraded Electric Furnace) @@ -221,14 +201,42 @@ slimefun: empowered_android: 강화된 안드로이드(Empowered Androids) empowered_butcher_android: 강화된 안드로이드-정육점(Empowered Androids - Butcher) empowered_fisherman_android: 강화된 안드로이드-어부(Empowered Androids - Fisherman) + high_tier_carbon_press: 궁극의 탄소 프레스 + wither_assembler: 자동 위더 킬러 + better_heated_pressure_chamber: 업그레이드 된 가열 압력 챔버 + elytra: 겉날개 + special_elytras: 특별한 겉날개 electric_crucible: 전기 도가니(Electrified Crucible) + better_electric_crucibles: 뜨거운 도가니 + advanced_electric_smeltery: 고급 전기 제련소 advanced_farmer_android: 고급 안드로이드-농부(Advanced Androids - Farmer) lava_generator: 용암 발전기(Lava Generator) + nether_ice: 지옥 얼음 냉각수 nether_star_reactor: 네더의 별 발전기(Nether Star Reator) + blistering_ingots: 맹렬한 방사능 automatic_ignition_chamber: 자동 점화 챔버(Automatic Ignition Chamber) output_chest: 기본 기계 출력 상자(Basic machinery outpost chest) + copper_wire: 얇아진 전도성 + radiant_backpack: 빛나는 배낭 + auto_drier: 건조한 날 + diet_cookie: 다이어트 쿠키 + storm_staff: 폭풍의 막대기 + soulbound_rune: 영혼의 룬 + geo_miner: GEO-마이너 + lightning_rune: 번개 룬 + totem_of_undying: 불멸의 토템 charging_bench: 충전대(Charging Bench) - nether_gold_pan: 네더 골드판(Nether Gold Pan) + nether_gold_pan: 네더 황금판(Nether Gold Pan) electric_press: 전기 프레스(Electric Press) + magnesium_generator: 마그네슘의 힘 + kelp_cookie: 맛있는 다시마 makeshift_smeltery: 즉석 제련 tree_growth_accelerator: 더 빠른 나무 + industrial_miner: 산업용 채광 기술 + advanced_industrial_miner: 더 나은 채광 기술 + magical_zombie_pills: 좀비화 방지 + auto_brewer: 산업용 양조장 + enchantment_rune: 고대 마법 + lead_clothing: 납 의류 + tape_measure: 줄자 + iron_golem_assembler: 자동 철골램