diff options
author | Linnea Gräf <nea@nea.moe> | 2024-03-01 21:31:48 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-03-02 19:43:00 +0100 |
commit | 3bfec3033e9d905514d5c1c6c62953c2a1646af0 (patch) | |
tree | afee0b3c20d0bdef9780e5fddb368c9d58fb3c70 /src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt | |
parent | f28dee0ef3a0dd4a0819a3d3a1c800a83a0f07f5 (diff) | |
download | Firmament-3bfec3033e9d905514d5c1c6c62953c2a1646af0.tar.gz Firmament-3bfec3033e9d905514d5c1c6c62953c2a1646af0.tar.bz2 Firmament-3bfec3033e9d905514d5c1c6c62953c2a1646af0.zip |
Add mob drop viewer to item list
Diffstat (limited to 'src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt b/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt new file mode 100644 index 0000000..7b80e88 --- /dev/null +++ b/src/main/kotlin/moe/nea/firmament/gui/entity/ModifyAge.kt @@ -0,0 +1,30 @@ +/* + * SPDX-FileCopyrightText: 2024 Linnea Gräf <nea@nea.moe> + * + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +package moe.nea.firmament.gui.entity + +import com.google.gson.JsonObject +import net.minecraft.entity.LivingEntity +import net.minecraft.entity.decoration.ArmorStandEntity +import net.minecraft.entity.mob.ZombieEntity +import net.minecraft.entity.passive.PassiveEntity + +object ModifyAge : EntityModifier { + override fun apply(entity: LivingEntity, info: JsonObject): LivingEntity { + val isBaby = info["baby"]?.asBoolean ?: false + if (entity is PassiveEntity) { + entity.breedingAge = if (isBaby) -1 else 1 + } else if (entity is ZombieEntity) { + entity.isBaby = isBaby + } else if (entity is ArmorStandEntity) { + entity.isSmall = isBaby + } else { + error("Cannot set age for $entity") + } + return entity + } + +} |