diff --git a/base/src/main/resources/assets/dml-refabricated/lang/ru_ru.json b/base/src/main/resources/assets/dml-refabricated/lang/ru_ru.json index 4a4e49e3..b7474d7c 100644 --- a/base/src/main/resources/assets/dml-refabricated/lang/ru_ru.json +++ b/base/src/main/resources/assets/dml-refabricated/lang/ru_ru.json @@ -1,7 +1,7 @@ { "itemGroup.dml-refabricated.tab_dml-refabricated": "Deep Mob Learning: Refabricated", "item.dml-refabricated.dml-refabricated": "Deep Mob Learning: Refabricated", - "item.dml-refabricated.guide_tablet": "Планшет с гайдом", + "item.dml-refabricated.guide_tablet": "Планшет-путеводитель", "item.dml-refabricated.deep_learner": "Тёмный путеводитель", "item.dml-refabricated.data_model": "Пустая модель данных", "item.dml-refabricated.data_model_nether": "Адская модель данных", @@ -29,6 +29,14 @@ "item.dml-refabricated.emeritus_hat": "Голова императора", "item.dml-refabricated.physically_condensed_matrix_fragment": "Физически-Сжатый Фрагмент Матрицы", "item.dml-refabricated.glitch_ingot": "Баганный слиток", + + "item.dml-refabricated.glitch_upgrade_smithing_template": "Баганный кузнечный шаблон", + "upgrade.dml-refabricated.glitch_upgrade": "Баганное улучшение", + "item.dml-refabricated.glitch_upgrade_smithing_template.applies_to": "Незеритовое снаряжение", + "item.dml-refabricated.glitch_upgrade_smithing_template.ingredients": "Незеритовый слиток", + "item.dml-refabricated.glitch_upgrade_smithing_template.base_slot_description": "Добавьте незеритовую броню", + "item.dml-refabricated.glitch_upgrade_smithing_template.additions_slot_description": "Добавьте баганный слиток", + "tooltip.dml-refabricated.guide_tablet": "§3§oDeep Mob Learning: Refabricated's высокотехнологичный гайд!", "tooltip.dml-refabricated.data_model.bound_to.1": "Привязан к: ", "tooltip.dml-refabricated.data_model.bound_to.2": "%d", @@ -65,6 +73,8 @@ "chat.dml-refabricated.trial_wrong_terrain": "Местность не подходит для испытания", "chat.dml-refabricated.trial_no_recipe": "§4Этот пробный ключ, похоже, сломан...", "gui.dml-refabricated.pristine_matter_only": "Пожалуйста, поместите сюда Первозданную материю.", + "chat.dml-refabricated.trial_wrong_terrain.floor": "Недопустимый блок @", + "chat.dml-refabricated.trial_wrong_terrain.dome": "Недопустимый беспустотный блок @", "gui.dml-refabricated.data_model_only": "Пожалуйста, поместите сюда действительную Модель данных.", "bar.dml-refabricated.trial": "Системный баг", "bar.dml-refabricated.trial_success": "Испытание завершено", @@ -176,4 +186,4 @@ "advancements.dml-refabricated.loot_fabricator.description": "Создайте Переработчик добычи.", "advancements.dml-refabricated.glitch_ingot": "Я не багуюсь!", "advancements.dml-refabricated.glitch_ingot.description": "Создайте баганный слиток." -} \ No newline at end of file +} diff --git a/build.gradle b/build.gradle index a8825f3c..069afee6 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,7 @@ def getChangeLog() { repositories { + maven { url = "https://jitpack.io" } maven { url = "https://maven.terraformersmc.com/releases/" } } diff --git a/gradle.properties b/gradle.properties index ea85ccf7..3bfbdc03 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ yarn_mappings=1.20.1+build.10 loader_version=0.14.22 #Fabric api -fabric_version=0.86.1+1.20.1 +fabric_version=0.87.0+1.20.1 loom_version=1.3 # Mod Properties @@ -30,6 +30,7 @@ libguiVersion=8.0.0-beta.1+1.20-rc1 palVersion=1.8.0 reiVersion=12.0.625 energyVersion=2.3.0 +mixinextrasVersion=0.1.1 modmenuVersion=7.0.0 mcdUsername=mcd diff --git a/modular-armor/build.gradle.kts b/modular-armor/build.gradle.kts index 7fbe00b0..bcc0aa9a 100644 --- a/modular-armor/build.gradle.kts +++ b/modular-armor/build.gradle.kts @@ -1,5 +1,6 @@ val palVersion: String by project val libguiVersion: String by project +val mixinextrasVersion: String by project repositories { maven { @@ -14,6 +15,10 @@ repositories { name = "CottonMC" url = uri("https://server.bbkr.space/artifactory/libs-release") } + maven { + name = "JitPack" + url = uri("https://jitpack.io") + } } dependencies { @@ -24,4 +29,9 @@ dependencies { modApi("io.github.cottonmc:LibGui:${libguiVersion}") include("io.github.cottonmc:LibGui:${libguiVersion}") + + + modApi("com.github.LlamaLad7:MixinExtras:${mixinextrasVersion}") + include("com.github.LlamaLad7:MixinExtras:${mixinextrasVersion}") + annotationProcessor("com.github.LlamaLad7:MixinExtras:${mixinextrasVersion}") } diff --git a/modular-armor/src/main/java/dev/nathanpb/dml/modular_armor/mixin/LivingEntityMixin.java b/modular-armor/src/main/java/dev/nathanpb/dml/modular_armor/mixin/LivingEntityMixin.java index 3fb6bac6..8c236b32 100644 --- a/modular-armor/src/main/java/dev/nathanpb/dml/modular_armor/mixin/LivingEntityMixin.java +++ b/modular-armor/src/main/java/dev/nathanpb/dml/modular_armor/mixin/LivingEntityMixin.java @@ -19,13 +19,14 @@ * along with Deep Mob Learning: Refabricated. If not, see . */ +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import dev.nathanpb.dml.item.ItemEmeritusHat; import dev.nathanpb.dml.modular_armor.EntityStatusEffectsKt; import dev.nathanpb.dml.modular_armor.ItemModularGlitchArmor; import dev.nathanpb.dml.modular_armor.effects.RotResistanceEffect; import dev.nathanpb.dml.modular_armor.effects.TargetCancellationEffect; import dev.nathanpb.dml.modular_armor.effects.UndyingEffect; -import net.minecraft.entity.DamageUtil; import net.minecraft.entity.EquipmentSlot; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.damage.DamageSource; @@ -109,8 +110,11 @@ public List> applyFoodEffects(List original) { boolean shouldUncap = StreamSupport.stream(((LivingEntity) (Object) this).getArmorItems().spliterator(), false) .anyMatch(it -> it.getItem() instanceof ItemModularGlitchArmor); @@ -119,7 +123,7 @@ public float glitchArmorUncapProtection(float damage, float armor, float armorTo float g = Math.max(armor - damage / f, armor * 0.2F); return damage * (1.0F - g / 25.0F); } else { - return DamageUtil.getDamageLeft(damage, armor, armorToughness); + return original.call(damage, armor, armorToughness); } } diff --git a/modular-armor/src/main/kotlin/dev/nathanpb/dml/modular_armor/InitPreLaunch.kt b/modular-armor/src/main/kotlin/dev/nathanpb/dml/modular_armor/InitPreLaunch.kt new file mode 100644 index 00000000..1d55845f --- /dev/null +++ b/modular-armor/src/main/kotlin/dev/nathanpb/dml/modular_armor/InitPreLaunch.kt @@ -0,0 +1,32 @@ +/* + * + * Copyright (C) 2021 Nathan P. Bombana, IterationFunk + * + * This file is part of Deep Mob Learning: Refabricated. + * + * Deep Mob Learning: Refabricated is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Deep Mob Learning: Refabricated is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with Deep Mob Learning: Refabricated. If not, see . + */ + +package dev.nathanpb.dml.modular_armor + +import com.llamalad7.mixinextras.MixinExtrasBootstrap +import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint + +class InitPreLaunch : PreLaunchEntrypoint { + + override fun onPreLaunch() { + MixinExtrasBootstrap.init() + } + +} \ No newline at end of file diff --git a/modular-armor/src/main/resources/fabric.mod.json b/modular-armor/src/main/resources/fabric.mod.json index 79d45dde..07286790 100644 --- a/modular-armor/src/main/resources/fabric.mod.json +++ b/modular-armor/src/main/resources/fabric.mod.json @@ -15,7 +15,8 @@ "environment": "*", "entrypoints": { "main": ["dev.nathanpb.dml.modular_armor.InitKt::init"], - "client": ["dev.nathanpb.dml.modular_armor.InitClientKt::initClient"] + "client": ["dev.nathanpb.dml.modular_armor.InitClientKt::initClient"], + "preLaunch": ["dev.nathanpb.dml.modular_armor.InitPreLaunch"] }, "mixins": ["mixins.dml-refabricated-modular-armor.json"], "depends": { diff --git a/simulacrum/src/main/resources/assets/dml-refabricated/lang/ru_ru.json b/simulacrum/src/main/resources/assets/dml-refabricated/lang/ru_ru.json index 5e5aa49c..b8424e71 100644 --- a/simulacrum/src/main/resources/assets/dml-refabricated/lang/ru_ru.json +++ b/simulacrum/src/main/resources/assets/dml-refabricated/lang/ru_ru.json @@ -17,6 +17,30 @@ "tooltip.dml-refabricated.data_model.2": "%d E/t", "tooltip.dml-refabricated.data_model.3": "Тип: ", "tooltip.dml-refabricated.data_model.4": "%d", + "text.dml-refabricated.simulation_chamber.iterations": "Итерации: %s", + "text.dml-refabricated.simulation_chamber.pristine_chance": "Шанс первобытности: %d", + "text.dml-refabricated.simulation_chamber.insert_data_model.1": "Пожалуйста, вставьте модель данных", + "text.dml-refabricated.simulation_chamber.insert_data_model.2": "чтобы начать процесс симуляции", + "text.dml-refabricated.simulation_chamber.insuficiente_data.1": "Недостаточно данных в модели", + "text.dml-refabricated.simulation_chamber.insuficiente_data.2": "пожалуйста, вставьте базовую модель данных", + "text.dml-refabricated.simulation_chamber.insuficiente_data.3": "или лучше ", + "text.dml-refabricated.simulation_chamber.cant_begin": "Невозможно начать симуляцию", + "text.dml-refabricated.simulation_chamber.missing_polymer": "Отсутствует средний полимер", + "text.dml-refabricated.simulation_chamber.missing_energy": "Критический уровень заряда системы", + "text.dml-refabricated.simulation_chamber.output_full": "Выходной или первобытный буфер заполнен", + "text.dml-refabricated.simulation_chamber.data_collected": "%d/%d данных собрано", + "text.dml-refabricated.simulation_chamber.max_tier": "Эта модель данных заряжена по максимуму.", + "text.dml-refabricated.simulation_chamber.missing_data_model": "На компьютере отсутствует модель данных", + "text.dml-refabricated.simulation_chamber.sim.1": "> Запускаем рантайм", + "text.dml-refabricated.simulation_chamber.sim.2": "v1.4.7", + "text.dml-refabricated.simulation_chamber.sim.3": "> Итерация #%d запущена", + "text.dml-refabricated.simulation_chamber.sim.4": "> Загружаем модель из чип-памяти", + "text.dml-refabricated.simulation_chamber.sim.5": "> Оцениваем уровень угрозы", + "text.dml-refabricated.simulation_chamber.sim.6": "> Побеждаем врага", + "text.dml-refabricated.simulation_chamber.sim.7": "> Получаем первобытность", + "text.dml-refabricated.simulation_chamber.succeeded": "удачно", + "text.dml-refabricated.simulation_chamber.fail": "провалено", + "text.dml-refabricated.simulation_chamber.sim.8": "> Обрабатываем результаты", "advancements.dml-refabricated.simulation_chamber": "Ух, как мы сейчас развеселимся!", "advancements.dml-refabricated.simulation_chamber.description": "Создайте камеру моделирования.", "advancements.dml-refabricated.matter": "Для чего вообще эта материя...",