mirror of
https://gitlab.com/cable-mc/cobblemon.git
synced 2026-10-20 22:26:24 -04:00
Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
10dc51d1ee | ||
|
|
22c7c44ec0 |
@@ -138,12 +138,23 @@ object CobblemonEvents {
|
||||
@JvmField
|
||||
val POKEMON_ENTITY_SAVE_TO_WORLD = CancelableObservable<PokemonEntitySaveToWorldEvent>()
|
||||
@JvmField
|
||||
val ENTITY_SPAWN = CancelableObservable<SpawnEvent<*>>()
|
||||
val ENTITY_SPAWN_PRE = CancelableObservable<SpawnEvent<*>>()
|
||||
@JvmField
|
||||
val ENTITY_SPAWN_POST = EventObservable<SpawnEvent<*>>()
|
||||
@JvmField
|
||||
val SHINY_CHANCE_CALCULATION = EventObservable<ShinyChanceCalculationEvent>()
|
||||
|
||||
@JvmField
|
||||
val POKEMON_ENTITY_SPAWN = ENTITY_SPAWN
|
||||
val POKEMON_ENTITY_SPAWN_PRE = ENTITY_SPAWN_PRE
|
||||
.pipe(
|
||||
filter { it.entity is PokemonEntity },
|
||||
map {
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
it as SpawnEvent<PokemonEntity>
|
||||
}
|
||||
)
|
||||
@JvmField
|
||||
val POKEMON_ENTITY_SPAWN = ENTITY_SPAWN_POST
|
||||
.pipe(
|
||||
filter { it.entity is PokemonEntity },
|
||||
map {
|
||||
|
||||
+2
-1
@@ -31,10 +31,11 @@ abstract class SingleEntitySpawnAction<T : Entity>(
|
||||
val e = createEntity() ?: return null
|
||||
e.setPos(ctx.position.toVec3d().add(0.5, 1.0, 0.5))
|
||||
var shouldSpawn = false
|
||||
CobblemonEvents.ENTITY_SPAWN.postThen(SpawnEvent(e, ctx), ifSucceeded = {
|
||||
CobblemonEvents.ENTITY_SPAWN_PRE.postThen(SpawnEvent(e, ctx), ifSucceeded = {
|
||||
this.entity.emit(e)
|
||||
ctx.world.addFreshEntity(e)
|
||||
shouldSpawn = true
|
||||
CobblemonEvents.ENTITY_SPAWN_POST.post(SpawnEvent(e, ctx))
|
||||
})
|
||||
|
||||
return if (shouldSpawn) {
|
||||
|
||||
Reference in New Issue
Block a user