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": "Для чего вообще эта материя...",