Skip to content

Commit d49fe30

Browse files
committed
Starting process of removing architectury from generations.
1 parent 636b950 commit d49fe30

File tree

95 files changed

+5101
-5339
lines changed

Some content is hidden

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

95 files changed

+5101
-5339
lines changed

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

Lines changed: 40 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ package generations.gg.generations.core.generationscore.common
33
import com.cobblemon.mod.common.CobblemonEntities
44
import com.cobblemon.mod.common.api.dialogue.Dialogue
55
import com.cobblemon.mod.common.api.dialogue.Dialogues
6+
import com.cobblemon.mod.common.api.events.CobblemonEvents
67
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
78
import com.cobblemon.mod.common.util.openDialogue
8-
import dev.architectury.event.EventResult
9-
import dev.architectury.event.events.common.EntityEvent
10-
import dev.architectury.event.events.common.InteractionEvent
9+
import generations.gg.generations.core.generationscore.common.api.events.TriState
1110
import generations.gg.generations.core.generationscore.common.api.events.general.EntityEvents
11+
import generations.gg.generations.core.generationscore.common.api.events.general.InteractionEvents
1212
import generations.gg.generations.core.generationscore.common.client.render.rarecandy.instanceOrNull
1313
import generations.gg.generations.core.generationscore.common.world.entity.GenerationsEntities
1414
import generations.gg.generations.core.generationscore.common.world.item.GenerationsCobblemonInteractions
@@ -31,67 +31,82 @@ object GenerationsArchitecturyEvents {
3131
player.serverLevel().getBlockState(player.blockPosition()).block.instanceOrNull<ElevatorBlock>()?.takeElevator(player.serverLevel(), player.blockPosition().below(), player, Direction.UP)
3232
}
3333

34-
EntityEvent.ADD.register { entity, level -> //TODO: add exceptions and maybe a scarcrow tag
34+
CobblemonEvents.ENTITY_SPAWN.subscribe { //TODO: add exceptions and maybe a scarcrow tag
35+
val entity = it.entity
36+
val level = it.ctx.world
3537
if(entity.type == CobblemonEntities.POKEMON || entity.type == GenerationsEntities.ZYGARDE_CELL) {
3638

3739
val list = RegiShrineBlock.searchForBlock(
3840
level,
3941
entity.blockPosition(),
40-
GenerationsCore.CONFIG!!.blocks.scarecrowRadius.x,
41-
GenerationsCore.CONFIG!!.blocks.scarecrowRadius.y,
42-
GenerationsCore.CONFIG!!.blocks.scarecrowRadius.z,
42+
GenerationsCore.CONFIG.blocks.scarecrowRadius.x,
43+
GenerationsCore.CONFIG.blocks.scarecrowRadius.y,
44+
GenerationsCore.CONFIG.blocks.scarecrowRadius.z,
4345
1
44-
) { world, pos -> world.getBlockState(pos).`is`(SCARECROW.get()) }
46+
) { world, pos -> world.getBlockState(pos).`is`(SCARECROW) }
4547
if (list.isNotEmpty()) {
46-
EventResult.interruptTrue()
48+
it.cancel()
4749
}
4850
}
49-
50-
EventResult.pass()
5151
}
5252

53-
InteractionEvent.RIGHT_CLICK_BLOCK.register { player, hand, pos, _ ->
53+
InteractionEvents.RIGHT_CLICK_BLOCK.subscribe { event ->
54+
val player = event.player
55+
val hand = event.hand
56+
val pos = event.pos
5457

5558
if (player is ServerPlayer) {
5659
if (hand == InteractionHand.MAIN_HAND && player.level().getBlockState(pos)
5760
.`is`(GenerationsShrines.TAPU_SHRINE.get()) && player.getItemInHand(hand)
58-
.`is`(GenerationsItems.SPARKLING_STONE.get())
61+
.`is`(GenerationsItems.SPARKLING_STONE)
5962
) {
6063
val dialogue: Dialogue = Dialogues.dialogues[GenerationsCore.id("tapu_spawn")]
61-
?: return@register EventResult.interruptFalse()
64+
?: run {
65+
event.result = TriState.FALSE
66+
return@subscribe
67+
}
6268
player.getItemInHand(hand).shrink(1)
6369
player.openDialogue(dialogue)
6470

65-
return@register EventResult.interruptTrue()
71+
event.result = TriState.TRUE
72+
return@subscribe
6673
} else if (hand == InteractionHand.MAIN_HAND && player.level().getBlockState(pos)
6774
.`is`(GenerationsShrines.ABUNDANT_SHRINE.get()) && player.getItemInHand(hand)
68-
.`is`(GenerationsItems.REVEAL_GLASS.get())
75+
.`is`(GenerationsItems.REVEAL_GLASS)
6976
) {
7077
val dialogue: Dialogue = Dialogues.dialogues[GenerationsCore.id("therian_spawn")]
71-
?: return@register EventResult.interruptFalse()
78+
?: run {
79+
event.result = TriState.FALSE
80+
return@subscribe
81+
}
7282

7383
player.getItemInHand(hand).shrink(1)
7484
player.openDialogue(dialogue)
7585

76-
return@register EventResult.interruptTrue()
86+
event.result = TriState.TRUE
87+
return@subscribe
7788
} else if(player.level().getBlockState(pos).block is VendingMachineBlock) { //TODO: upgrade to a vending machines tag.
78-
//TODO: Restore shopss post release
89+
//TODO: Restore shopss post release
7990
}
8091
}
81-
82-
EventResult.pass()
8392
}
8493

85-
InteractionEvent.INTERACT_ENTITY.register { player, entity, hand ->
86-
if(player !is ServerPlayer) return@register EventResult.pass()
94+
InteractionEvents.ENTITY_INTERACT.subscribe {
95+
val player = it.player
96+
val hand = it.hand
97+
val entity = it.entity
98+
if(player !is ServerPlayer) return@subscribe
8799

88100
val stack = player.getItemInHand(hand)
89101

90102
if(entity is PokemonEntity) {
91-
return@register if(GenerationsCobblemonInteractions.triggerCustomInteraction(entity, player, stack)) EventResult.interruptTrue() else EventResult.pass()
103+
if(GenerationsCobblemonInteractions.triggerCustomInteraction(entity, player, stack)) {
104+
TriState.TRUE
105+
}
106+
return@subscribe
92107
}
93108

94-
return@register EventResult.pass()
109+
return@subscribe
95110
}
96111
}
97112
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ class GenerationsCobblemonEvents {
138138

139139
player.sendSystemMessage("Due to ${it.pokemon.getDisplayName().string} happiness reaching max, it gave you an egg.".text())
140140

141-
player.giveOrDropItemStack(GenerationsItems.PHIONE_EGG.get().defaultInstance, true)
141+
player.giveOrDropItemStack(GenerationsItems.PHIONE_EGG.defaultInstance, true)
142142
it.pokemon.persistentData.putBoolean(DataKeys.GAVE_EGG, true)
143143
}
144144
}

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,9 +121,9 @@ object GenerationsCore {
121121
ZygardeCellDetail::class.java
122122
)
123123

124-
GenerationsDataComponents.init()
125-
GenerationsStorage.init()
126124
GenerationsCoreEntityDataSerializers.init()
125+
GenerationsStorage.init()
126+
GenerationsDataComponents.init()
127127
GenerationsSounds.init()
128128
GenerationsBlocks.init()
129129
GenerationsPokeDolls.init()
@@ -134,13 +134,14 @@ object GenerationsCore {
134134
LootItemConditionTypes.init()
135135
GenerationsUtilityBlocks.init()
136136
GenerationsShrines.init()
137+
GenerationsBlocks.initItems()
137138
GenerationsItems.init()
138139
GenerationsBlockEntities.init()
139140
GenerationsEntities.init()
140-
GenerationsCreativeTabs.init()
141141
GenerationsArmorMaterials.init()
142142
GenerationsArmor.init()
143143
GenerationsTools.init()
144+
GenerationsCreativeTabs.init()
144145
GenerationsContainers.init()
145146
GenerationsResources.init()
146147
RksResultType.init()
@@ -208,3 +209,4 @@ object GenerationsCore {
208209
}
209210

210211
fun <T> T?.orFalse(predicate: (T) -> Boolean): Boolean = this?.let(predicate) ?: false
212+
fun String.generationsResource() = GenerationsCore.id(this)

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ class GenerationsDataProvider : DataProvider {
2424
private val scheduledActions = mutableMapOf<UUID, MutableList<() -> Unit>>()
2525

2626
fun registerDefaults() {
27+
PlatformEvents.RENDER
28+
2729
// this.register(Shops)
2830
// this.register(ShopPresets)
2931
PlatformEvents.SERVER_PLAYER_LOGOUT.subscribe(Priority.HIGH) {

common/src/main/java/generations/gg/generations/core/generationscore/common/GenerationsImplementation.java

Lines changed: 0 additions & 60 deletions
This file was deleted.
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package generations.gg.generations.core.generationscore.common
2+
3+
import generations.gg.generations.core.generationscore.common.util.PlatformRegistry
4+
import net.minecraft.network.syncher.EntityDataSerializer
5+
import net.minecraft.resources.ResourceLocation
6+
import net.minecraft.server.packs.PackType
7+
import net.minecraft.server.packs.resources.PreparableReloadListener
8+
import net.minecraft.world.item.CreativeModeTab
9+
import net.minecraft.world.item.ItemStack
10+
import net.minecraft.world.level.ItemLike
11+
import net.minecraft.world.level.block.Block
12+
import java.util.function.Supplier
13+
14+
interface GenerationsImplementation {
15+
fun registerResourceReloader(
16+
identifier: ResourceLocation?,
17+
reloader: PreparableReloadListener?,
18+
type: PackType?,
19+
dependencies: Collection<ResourceLocation?>?,
20+
)
21+
22+
/**
23+
* Register a block as Strippable.
24+
* @param log The log block of wood
25+
* @param stripped The stripped log block of wood
26+
*/
27+
fun registerStrippable(log: Block, stripped: Block)
28+
29+
/**
30+
* Register a block as flammable.
31+
* @param blockIn The block to register
32+
* @param encouragement How much more likely the block is to catch fire compared to vanilla
33+
* @param flammability How much more likely the block is to spread fire compared to vanilla
34+
*/
35+
fun registerFlammable(blockIn: Block, encouragement: Int, flammability: Int)
36+
37+
/**
38+
* Register a block as compostable.
39+
* @param block The block to register
40+
* @param chance The chance of the block to compost
41+
*/
42+
fun registerCompostables(block: Block, chance: Float)
43+
44+
fun create(
45+
name: String,
46+
o: Supplier<ItemStack>,
47+
deferredRegister: Array<out PlatformRegistry<out ItemLike>>,
48+
): CreativeModeTab
49+
50+
fun <T: Any> registerEntityDataSerializer(name: String, dataSerializer: EntityDataSerializer<T>)
51+
52+
enum class ModAPI {
53+
FABRIC,
54+
FORGE
55+
}
56+
57+
enum class Environment {
58+
CLIENT,
59+
SERVER
60+
}
61+
}
Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,25 @@
11
package generations.gg.generations.core.generationscore.common.api.events
22

33
import com.cobblemon.mod.common.api.berry.Berry
4-
import dev.architectury.event.Event
5-
import dev.architectury.event.EventActor
6-
import dev.architectury.event.EventFactory
4+
import com.cobblemon.mod.common.api.events.Cancelable
5+
import com.cobblemon.mod.common.api.reactive.CancelableObservable
6+
import com.cobblemon.mod.common.api.reactive.EventObservable
77
import generations.gg.generations.core.generationscore.common.api.player.CurryDex.CurryDexEntry
88
import generations.gg.generations.core.generationscore.common.world.item.curry.CurryData
99
import generations.gg.generations.core.generationscore.common.world.item.curry.CurryTasteRating
1010
import generations.gg.generations.core.generationscore.common.world.item.curry.CurryType
1111
import net.minecraft.server.level.ServerPlayer
12-
import java.util.function.Function
1312

1413
object CurryEvents {
15-
val COOK: Event<EventActor<Cook>> = EventFactory.createEventActorLoop()
14+
val COOK = CancelableObservable<Cook>()
1615

17-
val MODIFY_RATING: Event<ModifyRating> = EventFactory.of(
18-
{ eventActors: List<ModifyRating> ->
19-
return@of ModifyRating { original: CurryTasteRating, player: ServerPlayer, data: CurryData ->
20-
var rating: CurryTasteRating? = null
21-
for (actor in eventActors) {
22-
rating = actor.modifyRating(original, player, data)
23-
}
24-
rating ?: original
25-
}
26-
})
16+
val MODIFY_RATING = EventObservable<ModifyRating>()
2717

28-
val ADD_ENTRY: Event<EventActor<AddEntry>> = EventFactory.createEventActorLoop()
18+
val ADD_ENTRY = CancelableObservable<AddEntry>()
2919

30-
class Cook(val mainIngredient: CurryType, val berries: List<Berry>, var output: CurryData)
20+
data class Cook(val mainIngredient: CurryType, val berries: List<Berry>, var output: CurryData): Cancelable()
3121

32-
class AddEntry(val player: ServerPlayer, val curry: CurryData, var entry: CurryDexEntry)
22+
data class AddEntry(val player: ServerPlayer, val curry: CurryData, var entry: CurryDexEntry): Cancelable()
3323

34-
fun interface ModifyRating {
35-
fun modifyRating(original: CurryTasteRating, player: ServerPlayer, data: CurryData): CurryTasteRating?
36-
}
24+
data class ModifyRating(val player: ServerPlayer, val data: CurryData, var rating: CurryTasteRating)
3725
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package generations.gg.generations.core.generationscore.common.api.events
2+
3+
import net.minecraft.world.InteractionResult
4+
5+
enum class TriState {
6+
TRUE, FALSE, INDETERMINATE;
7+
8+
fun asMinecraft(): InteractionResult = when(this) {
9+
TRUE -> InteractionResult.SUCCESS
10+
FALSE -> InteractionResult.FAIL
11+
INDETERMINATE -> InteractionResult.PASS
12+
}
13+
}

common/src/main/java/generations/gg/generations/core/generationscore/common/api/events/general/EntityEvents.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package generations.gg.generations.core.generationscore.common.api.events.general
22

33
import com.cobblemon.mod.common.api.reactive.EventObservable
4-
import dev.architectury.event.Event
5-
import dev.architectury.event.EventFactory
64
import net.minecraft.world.entity.Entity
75

86
object EntityEvents {

0 commit comments

Comments
 (0)