From 734655f53b899b1818f0afae7a941d1245753e6f Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Tue, 20 Jun 2023 11:30:40 +0700 Subject: [PATCH] Fix "isRigid" being the opposite of "optional" in research builder --- .../mc/otm/datagen/ResearchData.kt | 17 ++++------- .../mc/otm/android/AndroidResearchType.kt | 29 ++++--------------- 2 files changed, 11 insertions(+), 35 deletions(-) diff --git a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt index 00599e085..ed1655e51 100644 --- a/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt +++ b/src/data/kotlin/ru/dbotthepony/mc/otm/datagen/ResearchData.kt @@ -5,15 +5,8 @@ import net.minecraft.world.item.Items import net.minecraftforge.common.Tags import ru.dbotthepony.mc.otm.OverdriveThatMatters import ru.dbotthepony.mc.otm.android.AndroidResearchDescriptions -import ru.dbotthepony.mc.otm.android.AndroidResearchResult import ru.dbotthepony.mc.otm.android.AndroidResearchResults import ru.dbotthepony.mc.otm.android.AndroidResearchType -import ru.dbotthepony.mc.otm.android.feature.EnderTeleporterFeature -import ru.dbotthepony.mc.otm.android.feature.FallDampenersFeature -import ru.dbotthepony.mc.otm.android.feature.ItemMagnetFeature -import ru.dbotthepony.mc.otm.android.feature.JumpBoostFeature -import ru.dbotthepony.mc.otm.android.feature.NanobotsArmorFeature -import ru.dbotthepony.mc.otm.android.feature.ShockwaveFeature import ru.dbotthepony.mc.otm.client.render.ResearchIcons import ru.dbotthepony.mc.otm.core.TextComponent import ru.dbotthepony.mc.otm.core.TranslatableComponent @@ -106,7 +99,7 @@ fun addResearchData(serializer: Consumer, lang: MatteryLang .addPrerequisite(OverdriveThatMatters.loc(MNames.NANOBOTS)) .addFeatureResult(OverdriveThatMatters.loc(MNames.NANOBOTS_ARMOR)) .withIcon(ResearchIcons.ICON_ARMOR) - .addBlocker(OverdriveThatMatters.loc(MNames.ATTACK_BOOST_1), rigid = true) + .addBlocker(OverdriveThatMatters.loc(MNames.ATTACK_BOOST_1), optional = true) .addItem(MItemTags.TRITANIUM_PLATES, 4) .addItem(MItemTags.COPPER_WIRES, 8) .build() @@ -138,7 +131,7 @@ fun addResearchData(serializer: Consumer, lang: MatteryLang if (i > 0) { research.addFeatureLevel(AndroidFeatures.LIMB_OVERCLOCKING) - research.addPrerequisite(OverdriveThatMatters.loc(MNames.LIMB_OVERCLOCKING_LIST[i - 1]), rigid = true) + research.addPrerequisite(OverdriveThatMatters.loc(MNames.LIMB_OVERCLOCKING_LIST[i - 1]), optional = true) research.addItem(MItemTags.GOLD_WIRES, i * 2) } else { research.addFeatureResult(AndroidFeatures.LIMB_OVERCLOCKING) @@ -164,7 +157,7 @@ fun addResearchData(serializer: Consumer, lang: MatteryLang if (i > 0) { research.addFeatureLevel(AndroidFeatures.ATTACK_BOOST) - research.addPrerequisite(OverdriveThatMatters.loc(MNames.ATTACK_BOOST_LIST[i - 1]), rigid = true) + research.addPrerequisite(OverdriveThatMatters.loc(MNames.ATTACK_BOOST_LIST[i - 1]), optional = true) } else { research.addFeatureResult(AndroidFeatures.ATTACK_BOOST) } @@ -189,9 +182,9 @@ fun addResearchData(serializer: Consumer, lang: MatteryLang if (i > 0) { research.addFeatureLevel(AndroidFeatures.NANOBOTS_REGENERATION) - research.addPrerequisite(OverdriveThatMatters.loc(MNames.NANOBOTS_REGENERATION_LIST[i - 1]), rigid = true) + research.addPrerequisite(OverdriveThatMatters.loc(MNames.NANOBOTS_REGENERATION_LIST[i - 1]), optional = true) } else { - research.addPrerequisite(OverdriveThatMatters.loc(MNames.NANOBOTS), rigid = true) + research.addPrerequisite(OverdriveThatMatters.loc(MNames.NANOBOTS), optional = true) research.addFeatureResult(AndroidFeatures.NANOBOTS_REGENERATION) } diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchType.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchType.kt index b987b6c33..af0b2b592 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchType.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/android/AndroidResearchType.kt @@ -1,20 +1,13 @@ package ru.dbotthepony.mc.otm.android import com.google.common.collect.ImmutableList -import com.google.gson.JsonArray -import com.google.gson.JsonElement import com.google.gson.JsonObject -import com.google.gson.JsonPrimitive import com.google.gson.JsonSyntaxException -import com.google.gson.internal.bind.TypeAdapters import com.mojang.datafixers.util.Either import com.mojang.serialization.Codec -import com.mojang.serialization.JsonOps import com.mojang.serialization.codecs.ListCodec -import com.mojang.serialization.codecs.PairCodec import com.mojang.serialization.codecs.RecordCodecBuilder import it.unimi.dsi.fastutil.objects.ObjectOpenHashSet -import net.minecraft.network.FriendlyByteBuf import net.minecraft.network.chat.Component import net.minecraft.network.chat.ComponentContents import net.minecraft.network.chat.MutableComponent @@ -23,7 +16,6 @@ import net.minecraft.resources.ResourceLocation import net.minecraft.tags.TagKey import net.minecraft.world.item.Item import net.minecraft.world.item.ItemStack -import net.minecraft.world.item.Items import net.minecraft.world.item.crafting.Ingredient import net.minecraft.world.level.ItemLike import net.minecraftforge.registries.ForgeRegistries @@ -32,19 +24,10 @@ import ru.dbotthepony.mc.otm.client.render.SpriteType import ru.dbotthepony.mc.otm.core.collect.ListSet import ru.dbotthepony.mc.otm.core.TranslatableComponent import ru.dbotthepony.mc.otm.core.isActuallyEmpty -import ru.dbotthepony.mc.otm.core.registryName -import ru.dbotthepony.mc.otm.core.set -import ru.dbotthepony.mc.otm.core.collect.stream -import ru.dbotthepony.mc.otm.core.fromJsonStrict -import ru.dbotthepony.mc.otm.core.toJsonStrict -import ru.dbotthepony.mc.otm.core.util.readJson -import ru.dbotthepony.mc.otm.core.util.writeJson import ru.dbotthepony.mc.otm.data.ComponentCodec import ru.dbotthepony.mc.otm.data.IngredientCodec import ru.dbotthepony.mc.otm.data.JsonElementCodec -import ru.dbotthepony.mc.otm.data.simpleCodec import ru.dbotthepony.mc.otm.isClient -import java.util.LinkedList import java.util.Optional import java.util.function.Function import java.util.stream.Stream @@ -518,14 +501,14 @@ class AndroidResearchType( * research tree render logic (yet). */ @JvmOverloads - fun addPrerequisite(id: ResourceLocation, rigid: Boolean = false): Builder { - prerequisites.add(Reference(id, rigid)) + fun addPrerequisite(id: ResourceLocation, optional: Boolean = true): Builder { + prerequisites.add(Reference(id, optional)) return this } @JvmOverloads - fun addBlocker(id: ResourceLocation, rigid: Boolean = false): Builder { - blockers.add(Reference(id, rigid)) + fun addBlocker(id: ResourceLocation, optional: Boolean = true): Builder { + blockers.add(Reference(id, optional)) return this } @@ -533,8 +516,8 @@ class AndroidResearchType( * Please avoid having multiple prerequisites as case with more than 1 prerequisite does not have proper * research tree render logic (yet). */ - fun addPrerequisite(type: AndroidResearchType, rigid: Boolean = true) = addPrerequisite(type.id, rigid) - fun addBlocker(type: AndroidResearchType, rigid: Boolean = true) = addBlocker(type.id, rigid) + fun addPrerequisite(type: AndroidResearchType, optional: Boolean = false) = addPrerequisite(type.id, optional) + fun addBlocker(type: AndroidResearchType, optional: Boolean = false) = addBlocker(type.id, optional) fun addResult(result: AndroidResearchResult): Builder { results.add(result)