Move android package to player package
This commit is contained in:
parent
c4d5ffefa5
commit
b23bda2f6a
@ -23,7 +23,7 @@ import net.neoforged.neoforge.common.data.DatapackBuiltinEntriesProvider
|
||||
import net.neoforged.neoforge.data.event.GatherDataEvent
|
||||
import net.neoforged.neoforge.registries.NeoForgeRegistries
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchDataProvider
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchDataProvider
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.core.math.yRotationBlockstateNorth
|
||||
import ru.dbotthepony.mc.otm.core.util.WriteOnce
|
||||
|
@ -4,9 +4,9 @@ import net.minecraft.tags.ItemTags
|
||||
import net.minecraft.world.item.Items
|
||||
import net.neoforged.neoforge.common.Tags
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchDescriptions
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchResults
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchDescriptions
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchResults
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
||||
import ru.dbotthepony.mc.otm.core.TextComponent
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
|
@ -15,8 +15,8 @@ import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.level.block.Block
|
||||
import net.neoforged.neoforge.common.data.LanguageProvider
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.datagen.DataGen
|
||||
import ru.dbotthepony.mc.otm.registry.objects.ColoredDecorativeBlock
|
||||
|
@ -6,12 +6,12 @@ import net.neoforged.bus.api.EventPriority
|
||||
import net.neoforged.fml.common.Mod
|
||||
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent
|
||||
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchDescription
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchDescriptions
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchResult
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchResults
|
||||
import ru.dbotthepony.mc.otm.android.feature.EnderTeleporterFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchDescription
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchDescriptions
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchResult
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchResults
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.EnderTeleporterFeature
|
||||
import ru.dbotthepony.mc.otm.block.entity.MatteryBlockEntity
|
||||
import ru.dbotthepony.mc.otm.block.entity.decorative.DevChestBlockEntity
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
|
@ -8,7 +8,7 @@ import net.neoforged.neoforge.client.event.RenderLevelStageEvent
|
||||
import net.neoforged.neoforge.client.settings.KeyConflictContext
|
||||
import net.neoforged.neoforge.network.PacketDistributor
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidActiveFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidActiveFeature
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
import ru.dbotthepony.mc.otm.client.render.Widgets18
|
||||
|
@ -11,8 +11,8 @@ import net.neoforged.neoforge.client.event.RenderGuiEvent
|
||||
import net.neoforged.neoforge.client.settings.KeyConflictContext
|
||||
import net.neoforged.neoforge.network.PacketDistributor
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
import ru.dbotthepony.mc.otm.client.render.RenderGravity
|
||||
|
@ -18,7 +18,7 @@ import net.neoforged.neoforge.client.event.ScreenEvent
|
||||
import net.neoforged.neoforge.event.entity.player.ItemTooltipEvent
|
||||
import net.neoforged.neoforge.network.PacketDistributor
|
||||
import ru.dbotthepony.mc.otm.config.ClientConfig
|
||||
import ru.dbotthepony.mc.otm.android.feature.JumpBoostFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.JumpBoostFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.render.UVWindingOrder
|
||||
|
@ -23,7 +23,7 @@ import net.neoforged.neoforge.client.event.RenderGuiLayerEvent
|
||||
import net.neoforged.neoforge.client.event.ScreenEvent
|
||||
import net.neoforged.neoforge.client.gui.VanillaGuiLayers
|
||||
import net.neoforged.neoforge.common.ItemAbilities
|
||||
import ru.dbotthepony.mc.otm.android.feature.NanobotsArmorFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.NanobotsArmorFeature
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
|
@ -11,9 +11,9 @@ import net.minecraft.world.entity.player.Inventory
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.neoforged.neoforge.network.PacketDistributor
|
||||
import ru.dbotthepony.mc.otm.core.TranslatableComponent
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearch
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearch
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.CursorType
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
|
@ -10,11 +10,11 @@ import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.sounds.SoundSource
|
||||
import net.neoforged.neoforge.network.handling.IPayloadContext
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidActiveFeature
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidActiveFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.MatteryGUI
|
||||
|
@ -2,8 +2,8 @@ package ru.dbotthepony.mc.otm.network
|
||||
|
||||
import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent
|
||||
import net.neoforged.neoforge.network.registration.HandlerThread
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.feature.ItemEntityDataPacket
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.ItemEntityDataPacket
|
||||
import ru.dbotthepony.mc.otm.compat.vanilla.InventoryScrollPacket
|
||||
import ru.dbotthepony.mc.otm.data.FlywheelMaterials
|
||||
import ru.dbotthepony.mc.otm.item.QuantumBatteryItem
|
||||
|
@ -20,10 +20,7 @@ import net.minecraft.server.level.ServerLevel
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.tags.TagKey
|
||||
import net.minecraft.world.Container
|
||||
import net.minecraft.world.Difficulty
|
||||
import net.minecraft.world.damagesource.DamageSource
|
||||
import net.minecraft.world.effect.MobEffect
|
||||
import net.minecraft.world.effect.MobEffectInstance
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.boss.wither.WitherBoss
|
||||
@ -36,7 +33,6 @@ import net.minecraft.world.item.ProjectileWeaponItem
|
||||
import net.minecraft.world.item.crafting.RecipeManager
|
||||
import net.minecraft.world.item.crafting.RecipeType
|
||||
import net.minecraft.world.item.crafting.SingleRecipeInput
|
||||
import net.minecraft.world.level.GameRules
|
||||
import net.minecraft.world.level.Level
|
||||
import net.minecraft.world.phys.Vec3
|
||||
import net.neoforged.bus.api.Event
|
||||
@ -60,11 +56,11 @@ import ru.dbotthepony.kommons.util.getValue
|
||||
import ru.dbotthepony.kommons.util.setValue
|
||||
import ru.dbotthepony.kommons.util.value
|
||||
import ru.dbotthepony.mc.otm.*
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearch
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearch
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.block.entity.ItemJob
|
||||
import ru.dbotthepony.mc.otm.block.entity.JobContainer
|
||||
import ru.dbotthepony.mc.otm.block.entity.JobStatus
|
||||
@ -74,8 +70,6 @@ import ru.dbotthepony.mc.otm.capability.energy
|
||||
import ru.dbotthepony.mc.otm.capability.energy.BatteryBackedEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.capability.energy.IMatteryEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.capability.energy.ProfiledEnergyStorage
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.capability.energy.receiveEnergyExact
|
||||
import ru.dbotthepony.mc.otm.capability.receiveEnergy
|
||||
import ru.dbotthepony.mc.otm.client.minecraft
|
||||
import ru.dbotthepony.mc.otm.config.PlayerConfig
|
||||
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack
|
||||
import net.minecraft.client.Camera
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.nbt.CompoundTag
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import net.minecraft.network.chat.Component
|
||||
import net.minecraft.network.chat.ComponentContents
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import net.minecraft.ChatFormatting
|
||||
import net.minecraft.core.HolderLookup
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import com.google.gson.JsonObject
|
||||
import it.unimi.dsi.fastutil.objects.ObjectArraySet
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
@ -29,35 +29,76 @@ object AndroidResearchDescriptions {
|
||||
|
||||
val ENDER_TELEPORTER: AndroidResearchDescription.Singleton by registrar.register("ender_teleporter") {
|
||||
AndroidResearchDescription.singleton {
|
||||
TranslatableComponent("otm.gui.power_cost_per_use", PlayerConfig.EnderTeleporter.ENERGY_COST.formatPower(formatAsReadable = ShiftPressedCond).copy().withStyle(ChatFormatting.YELLOW)) }
|
||||
TranslatableComponent(
|
||||
"otm.gui.power_cost_per_use",
|
||||
PlayerConfig.EnderTeleporter.ENERGY_COST.formatPower(formatAsReadable = ShiftPressedCond).copy()
|
||||
.withStyle(ChatFormatting.YELLOW)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val FALL_DAMPENERS: AndroidResearchDescription.Leveled by registrar.register("fall_dampeners") {
|
||||
AndroidResearchDescription.Leveled { _, list, level ->
|
||||
list.add(TranslatableComponent("otm.fall_dampeners.description",
|
||||
TextComponent("%.1f".format((PlayerConfig.FALL_DAMAGE_REDUCTION_PER_LEVEL_P * level).toFloat().coerceIn(0f, 1f) * 100f)).withStyle(ChatFormatting.YELLOW),
|
||||
TextComponent("%.1f".format((PlayerConfig.FALL_DAMAGE_REDUCTION_PER_LEVEL_F * level).toFloat())).withStyle(ChatFormatting.YELLOW),
|
||||
)) }
|
||||
list.add(
|
||||
TranslatableComponent(
|
||||
"otm.fall_dampeners.description",
|
||||
TextComponent(
|
||||
"%.1f".format(
|
||||
(PlayerConfig.FALL_DAMAGE_REDUCTION_PER_LEVEL_P * level).toFloat().coerceIn(0f, 1f) * 100f
|
||||
)
|
||||
).withStyle(ChatFormatting.YELLOW),
|
||||
TextComponent("%.1f".format((PlayerConfig.FALL_DAMAGE_REDUCTION_PER_LEVEL_F * level).toFloat())).withStyle(
|
||||
ChatFormatting.YELLOW
|
||||
),
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val SWIM_BOOSTERS: AndroidResearchDescription.Leveled by registrar.register("swim_boosters") {
|
||||
AndroidResearchDescription.Leveled { _, list, level ->
|
||||
list.add(TranslatableComponent(
|
||||
"android_research.overdrive_that_matters.swim_boosters.description",
|
||||
TextComponent("%.1f".format(PlayerConfig.SWIM_BOOSTERS * (1 + level) * 100.0)).withStyle(ChatFormatting.YELLOW)
|
||||
)) }
|
||||
list.add(
|
||||
TranslatableComponent(
|
||||
"android_research.overdrive_that_matters.swim_boosters.description",
|
||||
TextComponent("%.1f".format(PlayerConfig.SWIM_BOOSTERS * (1 + level) * 100.0)).withStyle(
|
||||
ChatFormatting.YELLOW
|
||||
)
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val ITEM_MAGNET: AndroidResearchDescription.Singleton by registrar.register("item_magnet") {
|
||||
AndroidResearchDescription.singleton { TranslatableComponent("otm.gui.power_cost_per_tick", PlayerConfig.Magnet.POWER_DRAW.formatPower(formatAsReadable = ShiftPressedCond).copy().withStyle(ChatFormatting.YELLOW)) }
|
||||
AndroidResearchDescription.singleton {
|
||||
TranslatableComponent(
|
||||
"otm.gui.power_cost_per_tick",
|
||||
PlayerConfig.Magnet.POWER_DRAW.formatPower(
|
||||
formatAsReadable = ShiftPressedCond
|
||||
).copy().withStyle(ChatFormatting.YELLOW)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val JUMP_BOOST: AndroidResearchDescription.Singleton by registrar.register("jump_boost") {
|
||||
AndroidResearchDescription.singleton { TranslatableComponent("otm.gui.power_cost_per_use", PlayerConfig.JumpBoost.ENERGY_COST.formatPower(formatAsReadable = ShiftPressedCond).copy().withStyle(ChatFormatting.YELLOW)) }
|
||||
AndroidResearchDescription.singleton {
|
||||
TranslatableComponent(
|
||||
"otm.gui.power_cost_per_use",
|
||||
PlayerConfig.JumpBoost.ENERGY_COST.formatPower(
|
||||
formatAsReadable = ShiftPressedCond
|
||||
).copy().withStyle(ChatFormatting.YELLOW)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
val SHOCKWAVE: AndroidResearchDescription.Singleton by registrar.register("shockwave") {
|
||||
AndroidResearchDescription.singleton { TranslatableComponent("otm.gui.power_cost_per_use", PlayerConfig.Shockwave.ENERGY_COST.formatPower(formatAsReadable = ShiftPressedCond).copy().withStyle(ChatFormatting.YELLOW)) }
|
||||
AndroidResearchDescription.singleton {
|
||||
TranslatableComponent(
|
||||
"otm.gui.power_cost_per_use",
|
||||
PlayerConfig.Shockwave.ENERGY_COST.formatPower(
|
||||
formatAsReadable = ShiftPressedCond
|
||||
).copy().withStyle(ChatFormatting.YELLOW)
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -78,7 +119,8 @@ interface AndroidResearchDescription {
|
||||
get() = this
|
||||
}
|
||||
|
||||
class Leveled(val callback: (research: AndroidResearch, lines: MutableList<Component>, level: Int) -> Unit) : Type<Leveled.Instance> {
|
||||
class Leveled(val callback: (research: AndroidResearch, lines: MutableList<Component>, level: Int) -> Unit) :
|
||||
Type<Leveled.Instance> {
|
||||
inner class Instance(val level: Int) : AndroidResearchDescription {
|
||||
override fun addLines(research: AndroidResearch, lines: MutableList<Component>) {
|
||||
callback.invoke(research, lines, level)
|
||||
@ -90,7 +132,7 @@ interface AndroidResearchDescription {
|
||||
|
||||
override val codec: MapCodec<Instance> by lazy {
|
||||
RecordCodecBuilder.mapCodec {
|
||||
it.group(Codec.INT.fieldOf("level").forGetter(Instance::level)).apply(it, ::Instance)
|
||||
it.group(Codec.INT.fieldOf("level").forGetter(Instance::level)).apply(it, Leveled::Instance)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -138,7 +180,7 @@ object PlainAndroidResearchDescription : AndroidResearchDescription.Type<PlainAn
|
||||
RecordCodecBuilder.mapCodec {
|
||||
it.group(
|
||||
ComponentSerialization.CODEC.fieldOf("line").forGetter { it.line }
|
||||
).apply(it, ::Instance)
|
||||
).apply(it, PlainAndroidResearchDescription::Instance)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import com.google.common.collect.ImmutableMap
|
||||
import com.google.gson.GsonBuilder
|
||||
@ -108,7 +108,10 @@ object AndroidResearchManager : SimpleJsonResourceReloadListener(GsonBuilder().s
|
||||
}
|
||||
|
||||
val SYNC_TYPE = CustomPacketPayload.Type<SyncPacket>(ResourceLocation(OverdriveThatMatters.MOD_ID, "research_sync"))
|
||||
val SYNC_CODEC: StreamCodec<FriendlyByteBuf, SyncPacket> = StreamCodec.ofMember(SyncPacket::write, ::readSyncPacket)
|
||||
val SYNC_CODEC: StreamCodec<FriendlyByteBuf, SyncPacket> = StreamCodec.ofMember(
|
||||
SyncPacket::write,
|
||||
AndroidResearchManager::readSyncPacket
|
||||
)
|
||||
|
||||
class SyncPacket(val collection: Collection<AndroidResearchType>) : CustomPacketPayload {
|
||||
fun write(buff: FriendlyByteBuf) {
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import com.mojang.serialization.Codec
|
||||
import com.mojang.serialization.MapCodec
|
||||
@ -16,8 +16,8 @@ object AndroidResearchResults {
|
||||
private val registrar = MDeferredRegister(AndroidResearchResult.registryKey, OverdriveThatMatters.MOD_ID)
|
||||
|
||||
init {
|
||||
registrar.register("feature") { AndroidResearchResult.Feature.Companion }
|
||||
registrar.register("feature_level") { AndroidResearchResult.FeatureLevel.Companion }
|
||||
registrar.register("feature") { AndroidResearchResult.Feature }
|
||||
registrar.register("feature_level") { AndroidResearchResult.FeatureLevel }
|
||||
}
|
||||
|
||||
private object NanobotsArmorStrength : AndroidResearchResult.Singleton<NanobotsArmorStrength> {
|
||||
@ -90,7 +90,7 @@ interface AndroidResearchResult {
|
||||
it.group(
|
||||
ResourceLocation.CODEC.fieldOf("id").forGetter(Feature::id),
|
||||
Codec.BOOL.optionalFieldOf("optional", false).forGetter(Feature::optional)
|
||||
).apply(it, ::Feature)
|
||||
).apply(it, AndroidResearchResult::Feature)
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -99,7 +99,8 @@ interface AndroidResearchResult {
|
||||
/**
|
||||
* Increases level of specific android feature [id] by specified amount [levels]
|
||||
*/
|
||||
class FeatureLevel(val id: ResourceLocation, val optional: Boolean = false, val levels: Int = 1) : AndroidResearchResult {
|
||||
class FeatureLevel(val id: ResourceLocation, val optional: Boolean = false, val levels: Int = 1) :
|
||||
AndroidResearchResult {
|
||||
val feature = MRegistry.ANDROID_FEATURES.get(id) ?: if (optional) null else throw NoSuchElementException("Unknown android feature $id")
|
||||
|
||||
override val type: Type<*>
|
||||
@ -132,7 +133,7 @@ interface AndroidResearchResult {
|
||||
ResourceLocation.CODEC.fieldOf("id").forGetter(FeatureLevel::id),
|
||||
Codec.BOOL.optionalFieldOf("optional", false).forGetter(FeatureLevel::optional),
|
||||
Codec.INT.optionalFieldOf("levels", 1).forGetter(FeatureLevel::levels),
|
||||
).apply(it, ::FeatureLevel)
|
||||
).apply(it, AndroidResearchResult::FeatureLevel)
|
||||
}
|
||||
}
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import com.google.common.collect.ImmutableList
|
||||
import com.google.gson.JsonObject
|
||||
@ -131,10 +131,10 @@ class AndroidResearchType(
|
||||
it.group(
|
||||
ResourceLocation.CODEC.fieldOf("id").forGetter(Reference::id),
|
||||
Codec.BOOL.optionalFieldOf("optional", false).forGetter(Reference::optional)
|
||||
).apply(it, ::Reference)
|
||||
).apply(it, AndroidResearchType::Reference)
|
||||
})
|
||||
.xmap(
|
||||
{ c -> c.map(::Reference, Function.identity()) },
|
||||
{ c -> c.map(AndroidResearchType::Reference, Function.identity()) },
|
||||
{ c -> if (c.optional) Either.right(c) else Either.left(c.id) }
|
||||
)
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android
|
||||
package ru.dbotthepony.mc.otm.player.android
|
||||
|
||||
import net.minecraft.client.multiplayer.ClientLevel
|
||||
import net.minecraft.core.HolderLookup
|
@ -1,9 +1,9 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeModifier
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import com.mojang.blaze3d.systems.RenderSystem
|
||||
import com.mojang.blaze3d.vertex.PoseStack
|
||||
@ -25,7 +25,7 @@ import net.neoforged.neoforge.event.entity.living.LivingDeathEvent
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.NULLABLE_MINECRAFT_SERVER
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidActiveFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidActiveFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
@ -1,9 +1,9 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeModifier
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
@ -1,8 +1,8 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.neoforged.neoforge.event.entity.living.LivingIncomingDamageEvent
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.config.PlayerConfig
|
||||
import ru.dbotthepony.mc.otm.core.isFall
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.client.multiplayer.ClientLevel
|
||||
import net.minecraft.network.FriendlyByteBuf
|
||||
@ -12,7 +12,7 @@ import net.neoforged.neoforge.network.handling.IPayloadContext
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.config.PlayerConfig
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
@ -60,7 +60,10 @@ class ItemEntityDataPacket(val itemUUID: Int, val owner: UUID? = null, val age:
|
||||
|
||||
companion object {
|
||||
val TYPE = CustomPacketPayload.Type<ItemEntityDataPacket>(ResourceLocation(OverdriveThatMatters.MOD_ID, "item_entity_data"))
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, ItemEntityDataPacket> = StreamCodec.ofMember(ItemEntityDataPacket::write, ::read)
|
||||
val CODEC: StreamCodec<FriendlyByteBuf, ItemEntityDataPacket> = StreamCodec.ofMember(
|
||||
ItemEntityDataPacket::write,
|
||||
Companion::read
|
||||
)
|
||||
|
||||
fun read(buff: FriendlyByteBuf): ItemEntityDataPacket {
|
||||
return ItemEntityDataPacket(buff.readVarInt(), if (buff.readBoolean()) buff.readUUID() else null, buff.readVarInt(), buff.readVarInt(), buff.readBoolean())
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.sounds.SoundSource
|
||||
@ -6,7 +6,7 @@ import net.neoforged.neoforge.network.PacketDistributor
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.kommons.util.getValue
|
||||
import ru.dbotthepony.kommons.util.setValue
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
@ -1,11 +1,11 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeModifier
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
@ -17,7 +17,7 @@ class LimbOverclockingFeature(android: MatteryPlayer) : AndroidFeature(AndroidFe
|
||||
|
||||
if (speed != null) {
|
||||
speed.removeModifier(MODIFIER_ID)
|
||||
speed.addPermanentModifier(AttributeModifier(MODIFIER_ID,(level + 1) * 0.08, AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL))
|
||||
speed.addPermanentModifier(AttributeModifier(MODIFIER_ID, (level + 1) * 0.08, AttributeModifier.Operation.ADD_MULTIPLIED_TOTAL))
|
||||
}
|
||||
|
||||
val attackSpeed = ply.getAttribute(Attributes.ATTACK_SPEED)
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
@ -7,7 +7,7 @@ import net.minecraft.tags.DamageTypeTags
|
||||
import net.neoforged.neoforge.event.entity.living.LivingIncomingDamageEvent
|
||||
import ru.dbotthepony.kommons.util.getValue
|
||||
import ru.dbotthepony.kommons.util.setValue
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.core.isBypassArmor
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.core.HolderLookup
|
||||
import net.minecraft.nbt.CompoundTag
|
||||
@ -6,7 +6,7 @@ import net.minecraft.server.level.ServerPlayer
|
||||
import net.minecraft.world.level.GameRules
|
||||
import net.neoforged.neoforge.event.entity.living.LivingIncomingDamageEvent
|
||||
import ru.dbotthepony.mc.otm.config.PlayerConfig
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.registry.game.AndroidFeatures
|
||||
import ru.dbotthepony.mc.otm.registry.StatNames
|
@ -1,9 +1,9 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.world.effect.MobEffectInstance
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
@ -1,4 +1,4 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import it.unimi.dsi.fastutil.objects.ReferenceArraySet
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
@ -7,7 +7,7 @@ import net.minecraft.world.entity.Entity
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.monster.warden.Warden
|
||||
import net.neoforged.neoforge.network.PacketDistributor
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.capability.energy.extractEnergyExact
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
@ -1,8 +1,8 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeModifier
|
||||
import net.minecraft.world.entity.ai.attributes.Attributes
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
@ -1,8 +1,8 @@
|
||||
package ru.dbotthepony.mc.otm.android.feature
|
||||
package ru.dbotthepony.mc.otm.player.android.feature
|
||||
|
||||
import net.minecraft.world.entity.ai.attributes.AttributeModifier
|
||||
import net.neoforged.neoforge.common.NeoForgeMod
|
||||
import ru.dbotthepony.mc.otm.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidSwitchableFeature
|
||||
import ru.dbotthepony.mc.otm.player.MatteryPlayer
|
||||
import ru.dbotthepony.mc.otm.client.render.MGUIGraphics
|
||||
import ru.dbotthepony.mc.otm.client.render.ResearchIcons
|
@ -29,9 +29,9 @@ import net.neoforged.neoforge.event.ModifyDefaultComponentsEvent
|
||||
import net.neoforged.neoforge.registries.RegisterEvent
|
||||
import ru.dbotthepony.kommons.math.RGBAColor
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.android.feature.EnderTeleporterFeature
|
||||
import ru.dbotthepony.mc.otm.android.feature.NanobotsArmorFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.EnderTeleporterFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.NanobotsArmorFeature
|
||||
import ru.dbotthepony.mc.otm.block.decorative.CargoCrateBlock
|
||||
import ru.dbotthepony.mc.otm.block.decorative.ComputerTerminalBlock
|
||||
import ru.dbotthepony.mc.otm.block.decorative.StarChairBlock
|
||||
|
@ -1,9 +1,21 @@
|
||||
package ru.dbotthepony.mc.otm.registry.game
|
||||
|
||||
import net.neoforged.bus.api.IEventBus
|
||||
import ru.dbotthepony.mc.otm.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.android.DummyAndroidFeature
|
||||
import ru.dbotthepony.mc.otm.android.feature.*
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidFeatureType
|
||||
import ru.dbotthepony.mc.otm.player.android.DummyAndroidFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.AttackBoostFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.EnderTeleporterFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.ExtendedReachFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.FallDampenersFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.ItemMagnetFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.JumpBoostFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.LimbOverclockingFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.NanobotsArmorFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.NanobotsRegenerationFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.NightVisionFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.ShockwaveFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.StepAssistFeature
|
||||
import ru.dbotthepony.mc.otm.player.android.feature.SwimBoostersFeature
|
||||
import ru.dbotthepony.mc.otm.registry.MDeferredRegister
|
||||
import ru.dbotthepony.mc.otm.registry.MNames
|
||||
import ru.dbotthepony.mc.otm.registry.MRegistry
|
||||
|
@ -4,8 +4,8 @@ import net.minecraft.commands.Commands
|
||||
import net.minecraft.commands.arguments.EntityArgument
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.neoforged.neoforge.event.RegisterCommandsEvent
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.matteryPlayer
|
||||
|
||||
object AndroidCommand {
|
||||
|
@ -8,8 +8,8 @@ import com.mojang.brigadier.suggestion.SuggestionsBuilder
|
||||
import net.minecraft.commands.CommandSourceStack
|
||||
import net.minecraft.commands.SharedSuggestionProvider
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchManager
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import java.util.concurrent.CompletableFuture
|
||||
|
||||
class AndroidResearchArgument : ArgumentType<AndroidResearchType> {
|
||||
|
@ -6,7 +6,7 @@ import net.minecraft.advancements.critereon.ContextAwarePredicate
|
||||
import net.minecraft.resources.ResourceLocation
|
||||
import net.minecraft.server.level.ServerPlayer
|
||||
import ru.dbotthepony.mc.otm.OverdriveThatMatters
|
||||
import ru.dbotthepony.mc.otm.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.player.android.AndroidResearchType
|
||||
import ru.dbotthepony.mc.otm.core.ResourceLocation
|
||||
import java.util.*
|
||||
import java.util.function.Predicate
|
||||
|
Loading…
Reference in New Issue
Block a user