package emu.grasscutter.game.entity; import emu.grasscutter.data.GameData; import emu.grasscutter.data.binout.AbilityData; import emu.grasscutter.game.player.Player; import emu.grasscutter.game.props.EntityIdType; import emu.grasscutter.game.world.World; import emu.grasscutter.net.proto.SceneEntityInfoOuterClass.SceneEntityInfo; import emu.grasscutter.game.world.Position; import it.unimi.dsi.fastutil.ints.Int2FloatArrayMap; import it.unimi.dsi.fastutil.ints.Int2FloatMap; public class EntityTeam extends GameEntity { private Player player; public EntityTeam(Player player) { super(player.getScene()); initAbilities(); this.id = player.getWorld().getNextEntityId(EntityIdType.TEAM); } @Override public void initAbilities() { //Load abilities from levelElementAbilities var defaultAbilities = GameData.getConfigGlobalCombat().getDefaultAbilities(); if(defaultAbilities.getDefaultTeamAbilities() != null) for(var ability : defaultAbilities.getDefaultTeamAbilities()) { AbilityData data = GameData.getAbilityData(ability); if(data != null) player.getWorld().getHost().getAbilityManager().addAbilityToEntity( this, data); } } @Override public World getWorld() { return player.getWorld(); } @Override public int getEntityTypeId() { return EntityIdType.TEAM.getId(); } @Override public Int2FloatMap getFightProperties() { //TODO return new Int2FloatArrayMap(); } @Override public Position getPosition() { // TODO Auto-generated method stub return new Position(0, 0, 0); } @Override public Position getRotation() { return new Position(0, 0, 0); } @Override public SceneEntityInfo toProto() { return null; } }