Skip to content

Commit 4934795

Browse files
committed
Whole lot of stuff icnluding additional of the common storage lib.
1 parent ac68fd7 commit 4934795

File tree

59 files changed

+810
-917
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+810
-917
lines changed

common/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ dependencies {
1616
modImplementation("net.fabricmc:fabric-loader:${project.properties["fabric_loader_version"]}")
1717
modApi("dev.architectury:architectury:${project.properties["architectury_version"]}")
1818

19-
// modCompileOnly("earth.terrarium.botarium:botarium-common-$minecraftVersion:${project.properties["botarium_version"]}")
19+
modImplementation(group = "earth.terrarium.common_storage_lib", name = "common-storage-lib-common-1.21.1", version = "0.0.7")
2020

2121
implementation("gg.generations:RareCandy:${project.properties["rareCandy"]}"){isTransitive = false}
2222

common/src/main/java/generations/gg/generations/core/generationscore/common/GenerationsCobblemonEvents.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import com.cobblemon.mod.common.api.Priority
55
import com.cobblemon.mod.common.api.battles.model.actor.ActorType
66
import com.cobblemon.mod.common.api.events.CobblemonEvents
77
import com.cobblemon.mod.common.api.events.CobblemonEvents.BATTLE_VICTORY
8+
import com.cobblemon.mod.common.api.events.CobblemonEvents.FORME_CHANGE
89
import com.cobblemon.mod.common.api.events.CobblemonEvents.FRIENDSHIP_UPDATED
910
import com.cobblemon.mod.common.api.events.CobblemonEvents.HELD_ITEM_POST
1011
import com.cobblemon.mod.common.api.events.CobblemonEvents.LOOT_DROPPED
@@ -21,6 +22,7 @@ import com.cobblemon.mod.common.util.asTranslated
2122
import com.cobblemon.mod.common.util.cobblemonResource
2223
import com.cobblemon.mod.common.util.giveOrDropItemStack
2324
import generations.gg.generations.core.generationscore.common.api.player.Caught
25+
import generations.gg.generations.core.generationscore.common.battle.GenerationsInstructionProcessor
2426
import generations.gg.generations.core.generationscore.common.client.render.rarecandy.instanceOrNull
2527
import generations.gg.generations.core.generationscore.common.config.LegendKeys
2628
import generations.gg.generations.core.generationscore.common.config.SpeciesKey
@@ -54,14 +56,13 @@ class GenerationsCobblemonEvents {
5456

5557
@JvmStatic
5658
fun init() {
59+
FORME_CHANGE.subscribe(Priority.NORMAL, {(a, b, c) -> GenerationsInstructionProcessor.processDetailsChange(a, b, c) })
5760

5861
// CobblemonEvents.POKEMON_ENTITY_SPAWN.subscribe(Priority.HIGHEST) { it ->
5962
//
6063
//
6164
// }
6265

63-
GenerationsArchitecturyEvents
64-
6566
BATTLE_VICTORY.subscribe(Priority.HIGH) { event ->
6667
val data = mutableListOf<BattleData>()
6768

common/src/main/java/generations/gg/generations/core/generationscore/common/GenerationsDataProvider.kt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ package generations.gg.generations.core.generationscore.common
33
import com.cobblemon.mod.common.api.Priority
44
import com.cobblemon.mod.common.api.data.DataProvider
55
import com.cobblemon.mod.common.api.data.DataRegistry
6-
import com.cobblemon.mod.common.api.reactive.SimpleObservable.subscribe
76
import com.cobblemon.mod.common.platform.events.PlatformEvents
8-
import com.cobblemon.mod.common.platform.events.ServerPlayerEvent.Logout.player
97
import com.cobblemon.mod.common.util.ifClient
108
import com.cobblemon.mod.common.util.server
119
import dev.architectury.platform.Platform
@@ -22,8 +20,6 @@ import net.minecraft.server.packs.resources.ResourceManager
2220
import net.minecraft.server.packs.resources.ResourceManagerReloadListener
2321
import java.util.*
2422
import java.util.function.Consumer
25-
import kotlin.jvm.functions.Function0
26-
import kotlin.jvm.functions.Function0.invoke
2723

2824
class GenerationsDataProvider : DataProvider {
2925
// Both Forge n Fabric keep insertion order so if a registry depends on another simply register it after
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package generations.gg.generations.core.generationscore.common
2+
3+
import earth.terrarium.common_storage_lib.data.DataManagerRegistry
4+
import earth.terrarium.common_storage_lib.item.util.ItemStorageData
5+
6+
object GenerationsStorage {
7+
val registry = DataManagerRegistry(GenerationsCore.MOD_ID)
8+
9+
val item_contents = registry.builder(ItemStorageData.DEFAULT).serialize(ItemStorageData.CODEC).buildAndRegister().componentType()
10+
}

common/src/main/java/generations/gg/generations/core/generationscore/common/NetworkManager.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import kotlin.reflect.KClass
1313

1414

1515
interface NetworkManager {
16-
fun
1716

1817
fun registerClientBound()
1918

common/src/main/java/generations/gg/generations/core/generationscore/common/api/GenerationsMolangFunctions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ object GenerationsMolangFunctions {
130130

131131
if(speciesKey == null) return@Function DoubleValue(1.0)
132132

133-
return@Function DoubleValue(if (GenerationsCore.CONFIG.caught.capped(player, speciesKey)) 1.0 else 0.0)
133+
return@Function DoubleValue(if (player is ServerPlayer && GenerationsCore.CONFIG.caught.capped(player, speciesKey)) 1.0 else 0.0)
134134
},
135135
"main_hand" to Function<MoParams, Any> {
136136
player.mainHandItem.toMolang()

common/src/main/java/generations/gg/generations/core/generationscore/common/battle/GenerationsInstructionProcessor.kt

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,18 @@ import com.cobblemon.mod.common.util.cobblemonResource
1515
import com.cobblemon.mod.common.util.hasKeyItem
1616
import com.mojang.datafixers.util.Unit
1717
import generations.gg.generations.core.generationscore.common.util.getProviderOrNull
18+
import java.util.*
1819

20+
//TODO Use
1921
object GenerationsInstructionProcessor {
2022
@JvmStatic
21-
fun processDetailsChange(battle: PokemonBattle, message: BattleMessage) {
22-
val s1 = message.argumentAt(1) ?: return
23-
val s2 = s1.split(",".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
24-
if (s2.isEmpty()) return
25-
val s3 = s2[0].split("-".toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
23+
fun processDetailsChange(battle: PokemonBattle, pokemon: BattlePokemon, formeName: String) {
2624

27-
if (s3.size < 2) return
25+
val battlePokemon = pokemon
2826

29-
val battlePokemon = message.battlePokemon(0, battle) ?: return
27+
val name = formeName
3028

31-
val name = s3[1].lowercase()
32-
33-
var pair: Pair<String, Any> = when(name) {
29+
val pair: Pair<String, Any> = when(name) {
3430
"mega" -> {
3531
val megaStone = battlePokemon.heldItemManager.showdownId(battlePokemon) ?: return
3632
when {
@@ -41,14 +37,16 @@ object GenerationsInstructionProcessor {
4137
}
4238
"sunshine" -> "sunny" to true
4339
"school" -> "schooling" to true
44-
"wellspring", "hearthflame", "cornerstone", "teal" -> s3.getOrNull(2)?.takeIf { it == "Tera" }.let { "terastal" to true } ?: null
40+
// "wellspring", "hearthflame", "cornerstone", "teal" -> s3.getOrNull(2)?.takeIf { it == "Tera" }.let { "terastal" to true } ?: null TODO: Figure out what ogrepon here uses in the new system.
4541
else -> name to true
4642
} ?: let {
4743
battlePokemon.originalPokemon.removeBattleFeature()
4844
battlePokemon.effectedPokemon.removeBattleFeature()
4945
return
5046
}
5147

48+
println(arrayOf("A", "A").contentToString())
49+
5250
pair.let {
5351
when (it.second) {
5452
is String -> it.let { StringSpeciesFeature(it.first, it.second as String) }
@@ -122,4 +120,6 @@ private fun Pokemon.applyBattleFeature(feature: SpeciesFeature) {
122120
} else {
123121
(feature as FlagSpeciesFeature).apply(this)
124122
}
123+
124+
updateForm()
125125
}

common/src/main/java/generations/gg/generations/core/generationscore/common/client/entity/StatueClientDelegate.kt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package generations.gg.generations.core.generationscore.common.client.entity
22

33
import com.cobblemon.mod.common.api.pokemon.PokemonProperties
44
import com.cobblemon.mod.common.client.render.models.blockbench.PosableState
5-
import com.cobblemon.mod.common.client.render.models.blockbench.PoseableEntityState
65
import com.cobblemon.mod.common.client.render.models.blockbench.repository.PokemonModelRepository
76
import com.cobblemon.mod.common.client.render.models.blockbench.repository.RenderContext
87
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
@@ -12,24 +11,24 @@ import generations.gg.generations.core.generationscore.common.client.render.rare
1211
import generations.gg.generations.core.generationscore.common.world.entity.StatueSideDelegate
1312
import generations.gg.generations.core.generationscore.common.world.entity.statue.StatueEntity
1413
import net.minecraft.client.Minecraft
14+
import net.minecraft.network.syncher.EntityDataAccessor
1515
import net.minecraft.resources.ResourceLocation
1616
import net.minecraft.world.entity.Entity
1717
import org.joml.Matrix4f
1818

1919
class StatueClientDelegate : StatueSideDelegate, PosableState(), CobblemonInstanceProvider {
20-
private var modelEntity: PokemonEntity = PokemonEntity(Minecraft.getInstance().level!!)
2120
private var instance = StatueInstance(Matrix4f(), Matrix4f(), null)
2221
lateinit var currentEntity: StatueEntity
2322

2423
var trueAge: Int = 0
2524

26-
val activeAge: Float
25+
val activeAge: Int
2726
get() = if(currentEntity.staticToggle) currentEntity.staticAge else trueAge
2827

2928
override val schedulingTracker
3029
get() = currentEntity.schedulingTracker
3130

32-
override fun getEntity() = modelEntity
31+
override fun getEntity() = currentEntity
3332
override fun updatePoke(properties: PokemonProperties) {
3433

3534
modelEntity.pokemon = properties.create()
@@ -39,20 +38,24 @@ class StatueClientDelegate : StatueSideDelegate, PosableState(), CobblemonInstan
3938
instance.material = value
4039
}
4140

41+
override fun onSyncedDataUpdated(data: EntityDataAccessor<*>) {
42+
super.onSyncedDataUpdated(data)
43+
44+
}
4245

4346
override fun initialize(entity: StatueEntity) {
4447
super.initialize(entity)
4548
this.currentEntity = entity
4649
this.age = entity.tickCount
47-
this.currentModel = PokemonModelRepository.getPoser(modelEntity.pokemon.species.resourceIdentifier, modelEntity.pokemon.aspects)
50+
this.currentModel = PokemonModelRepository.getPoser(modelEntity.pokemon.species.resourceIdentifier, this)
4851

4952
val model = currentModel!!
5053
model.context.put(RenderContext.ENTITY, entity)
5154
currentModel!!.updateLocators(entity, this)
5255
updateLocatorPosition(entity.position())
5356

5457
val currentPoseType = entity.getCurrentPoseType()
55-
val pose = this.currentModel!!.poses.values.firstOrNull { currentPoseType in it.poseTypes && (it.condition == null || it.condition?.invoke(modelEntity) == true) }
58+
val pose = this.currentModel!!.poses.values.firstOrNull { currentPoseType in it.poseTypes && (it.condition == null || it.condition?.invoke(this) == true) }
5659
if (pose != null) {
5760
doLater { setPose(pose.poseName) }
5861
}
@@ -67,7 +70,7 @@ class StatueClientDelegate : StatueSideDelegate, PosableState(), CobblemonInstan
6770
override fun incrementAge(entity: Entity) {
6871
val previousAge = this.activeAge
6972
updateAge(trueAge + 1)
70-
runEffects(entity, previousAge, this.activeAge)
73+
runEffects(entity, previousAge.toFloat(), this.activeAge.toFloat()) //TODO: Check if this goes bad. I get a funny feeling
7174

7275
age = this.activeAge
7376

0 commit comments

Comments
 (0)