mirror of
https://github.com/garbagemule/MobArena.git
synced 2024-11-29 14:15:46 +01:00
Force adult entities; additional baby entities.
This commit (unfortunately) makes two somewhat unrelated changes: - Forces certain ageable entities into adulthood to prevent the occasional baby spawns (fixes #687). - Introduces support for baby versions of certain ageable entities (fixes #689). Co-authored-by: Andreas Troelsen <garbagemule@gmail.com>
This commit is contained in:
parent
caee8be6ca
commit
3693c039a6
@ -13,6 +13,7 @@ These changes will (most likely) be included in the next version.
|
|||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
### Added
|
### Added
|
||||||
- New monster variant `angry-bees` can be used to spawn angry bees.
|
- New monster variant `angry-bees` can be used to spawn angry bees.
|
||||||
|
- Husks, drowned, piglins, hoglins, and zoglins can now be spawned in their baby versions using the `baby` prefix seen on other monster types (e.g. `baby-zombie`).
|
||||||
- Pet names are now per-class configurable via the optional `pet-name` property, which defaults to `<display-name>'s pet` (the `<player-name>` variable is also supported).
|
- Pet names are now per-class configurable via the optional `pet-name` property, which defaults to `<display-name>'s pet` (the `<player-name>` variable is also supported).
|
||||||
- New per-arena setting `auto-leave-on-end` can be used to automatically "kick" spectators when the current session ends.
|
- New per-arena setting `auto-leave-on-end` can be used to automatically "kick" spectators when the current session ends.
|
||||||
- Added boss abilities `disorient-all`, `fetch-all`, `pull-all`, and `throw-all`. These abilities work like their target-specific and distance-based counterparts, but affect all players in the arena.
|
- Added boss abilities `disorient-all`, `fetch-all`, `pull-all`, and `throw-all`. These abilities work like their target-specific and distance-based counterparts, but affect all players in the arena.
|
||||||
@ -27,6 +28,7 @@ These changes will (most likely) be included in the next version.
|
|||||||
### Fixed
|
### Fixed
|
||||||
- Pillagers and vindicators no longer spawn without their much-needed weapons.
|
- Pillagers and vindicators no longer spawn without their much-needed weapons.
|
||||||
- Piglins, piglin brutes, and hoglins no longer zombify. This fixes a bug where the mobs would despawn due to the zombification process.
|
- Piglins, piglin brutes, and hoglins no longer zombify. This fixes a bug where the mobs would despawn due to the zombification process.
|
||||||
|
- Zombies, husks, drowned, zombie villagers, piglins, hoglins, and zoglins without the `baby` prefix are now forced into adulthood to prevent them from occasionally spawning as babies.
|
||||||
- Reward groups with `nothing` in them no longer cause errors when earned/granted.
|
- Reward groups with `nothing` in them no longer cause errors when earned/granted.
|
||||||
- The title-based announcer and the title-based boss health bar have been fixed to work with the breaking change to the Title API in Spigot 1.17.
|
- The title-based announcer and the title-based boss health bar have been fixed to work with the breaking change to the Title API in Spigot 1.17.
|
||||||
|
|
||||||
|
@ -5,20 +5,20 @@ import com.garbagemule.MobArena.framework.Arena;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.DyeColor;
|
import org.bukkit.DyeColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.entity.Bee;
|
import org.bukkit.entity.Bee;
|
||||||
import org.bukkit.entity.Creature;
|
import org.bukkit.entity.Creature;
|
||||||
import org.bukkit.entity.Creeper;
|
import org.bukkit.entity.Creeper;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.LivingEntity;
|
|
||||||
import org.bukkit.entity.Hoglin;
|
import org.bukkit.entity.Hoglin;
|
||||||
import org.bukkit.entity.PiglinAbstract;
|
import org.bukkit.entity.LivingEntity;
|
||||||
import org.bukkit.entity.PigZombie;
|
import org.bukkit.entity.PigZombie;
|
||||||
|
import org.bukkit.entity.PiglinAbstract;
|
||||||
import org.bukkit.entity.Rabbit;
|
import org.bukkit.entity.Rabbit;
|
||||||
import org.bukkit.entity.Sheep;
|
import org.bukkit.entity.Sheep;
|
||||||
import org.bukkit.entity.Slime;
|
import org.bukkit.entity.Slime;
|
||||||
import org.bukkit.entity.Wolf;
|
import org.bukkit.entity.Wolf;
|
||||||
|
import org.bukkit.entity.Zoglin;
|
||||||
import org.bukkit.entity.Zombie;
|
import org.bukkit.entity.Zombie;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.plugin.Plugin;
|
import org.bukkit.plugin.Plugin;
|
||||||
@ -131,19 +131,39 @@ public class MACreature {
|
|||||||
case "magmacubehuge":
|
case "magmacubehuge":
|
||||||
((Slime) e).setSize(4);
|
((Slime) e).setSize(4);
|
||||||
break;
|
break;
|
||||||
|
case "babydrowned":
|
||||||
|
case "babyhusk":
|
||||||
case "babyzombievillager":
|
case "babyzombievillager":
|
||||||
case "babyzombie":
|
case "babyzombie":
|
||||||
((Zombie) e).setBaby(true);
|
((Zombie) e).setBaby(true);
|
||||||
break;
|
break;
|
||||||
|
case "babyhoglin":
|
||||||
|
((Hoglin) e).setImmuneToZombification(true);
|
||||||
|
((Hoglin) e).setBaby();
|
||||||
|
break;
|
||||||
|
case "babypiglin":
|
||||||
|
((PiglinAbstract) e).setBaby();
|
||||||
|
((PiglinAbstract) e).setImmuneToZombification(true);
|
||||||
|
break;
|
||||||
case "babypigman":
|
case "babypigman":
|
||||||
case "babyzombifiedpiglin":
|
case "babyzombifiedpiglin":
|
||||||
((Zombie) e).setBaby(true);
|
((Zombie) e).setBaby(true);
|
||||||
((PigZombie) e).setAngry(true);
|
((PigZombie) e).setAngry(true);
|
||||||
break;
|
break;
|
||||||
|
case "babyzoglin":
|
||||||
|
((Zoglin) e).setBaby();
|
||||||
|
break;
|
||||||
case "pigzombie":
|
case "pigzombie":
|
||||||
case "zombiepigman":
|
case "zombiepigman":
|
||||||
case "zombifiedpiglin":
|
case "zombifiedpiglin":
|
||||||
((PigZombie) e).setAngry(true);
|
((PigZombie) e).setAngry(true);
|
||||||
|
((PigZombie) e).setBaby(false);
|
||||||
|
break;
|
||||||
|
case "husk":
|
||||||
|
case "drowned":
|
||||||
|
case "zombievillager":
|
||||||
|
case "zombie":
|
||||||
|
((Zombie) e).setBaby(false);
|
||||||
break;
|
break;
|
||||||
case "killerbunny":
|
case "killerbunny":
|
||||||
((Rabbit) e).setRabbitType(Rabbit.Type.THE_KILLER_BUNNY);
|
((Rabbit) e).setRabbitType(Rabbit.Type.THE_KILLER_BUNNY);
|
||||||
@ -151,9 +171,11 @@ public class MACreature {
|
|||||||
case "piglin":
|
case "piglin":
|
||||||
case "piglinbrute":
|
case "piglinbrute":
|
||||||
((PiglinAbstract) e).setImmuneToZombification(true);
|
((PiglinAbstract) e).setImmuneToZombification(true);
|
||||||
|
((PiglinAbstract) e).setAdult();
|
||||||
break;
|
break;
|
||||||
case "hoglin":
|
case "hoglin":
|
||||||
((Hoglin) e).setImmuneToZombification(true);
|
((Hoglin) e).setImmuneToZombification(true);
|
||||||
|
((Hoglin) e).setAdult();
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -241,6 +263,11 @@ public class MACreature {
|
|||||||
//
|
//
|
||||||
put("angrybee", "angrybees", "BEE", null);
|
put("angrybee", "angrybees", "BEE", null);
|
||||||
put("angrywolf", "angrywolves", "WOLF");
|
put("angrywolf", "angrywolves", "WOLF");
|
||||||
|
put("babydrowned", "babydrowned", "DROWNED");
|
||||||
|
put("babyhoglin", "babyhoglins", "HOGLIN", null);
|
||||||
|
put("babyhusk", "babyhusks", "HUSK");
|
||||||
|
put("babypiglin", "babypiglins", "PIGLIN", null);
|
||||||
|
put("babyzoglin", "babyzoglins", "ZOGLIN", null);
|
||||||
put("babyzombie", "babyzombies", "ZOMBIE");
|
put("babyzombie", "babyzombies", "ZOMBIE");
|
||||||
put("babyzombievillager", "babyzombievillagers", "ZOMBIE_VILLAGER");
|
put("babyzombievillager", "babyzombievillagers", "ZOMBIE_VILLAGER");
|
||||||
put("killerbunny", "killerbunnies", "RABBIT");
|
put("killerbunny", "killerbunnies", "RABBIT");
|
||||||
|
Loading…
Reference in New Issue
Block a user