mirror of
https://github.com/Grasscutters/Grasscutter.git
synced 2025-12-13 23:44:55 +01:00
Add rotation to /spawn (#2372)
This commit is contained in:
@@ -241,7 +241,7 @@ public interface HandbookActions {
|
||||
|
||||
// Create the entity.
|
||||
for (var i = 1; i <= request.getAmount(); i++) {
|
||||
var entity = new EntityMonster(scene, entityData, player.getPosition(), level);
|
||||
var entity = new EntityMonster(scene, entityData, player.getPosition(), player.getRotation(), level);
|
||||
scene.addEntity(entity);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,8 +18,8 @@ public class EntityHomeAnimal extends EntityMonster implements Rebornable {
|
||||
@Getter private final int rebirthCD;
|
||||
private final AtomicBoolean disappeared = new AtomicBoolean();
|
||||
|
||||
public EntityHomeAnimal(Scene scene, HomeWorldAnimalData data, Position pos) {
|
||||
super(scene, GameData.getMonsterDataMap().get(data.getMonsterID()), pos, 1);
|
||||
public EntityHomeAnimal(Scene scene, HomeWorldAnimalData data, Position pos, Position rot) {
|
||||
super(scene, GameData.getMonsterDataMap().get(data.getMonsterID()), pos, rot, 1);
|
||||
|
||||
this.rebornPos = pos.clone();
|
||||
this.rebirth = data.getIsRebirth();
|
||||
|
||||
@@ -54,14 +54,14 @@ public class EntityMonster extends GameEntity {
|
||||
@Getter private List<Player> playerOnBattle;
|
||||
@Nullable @Getter @Setter private SceneMonster metaMonster;
|
||||
|
||||
public EntityMonster(Scene scene, MonsterData monsterData, Position pos, int level) {
|
||||
public EntityMonster(Scene scene, MonsterData monsterData, Position pos, Position rot, int level) {
|
||||
super(scene);
|
||||
|
||||
this.id = this.getWorld().getNextEntityId(EntityIdType.MONSTER);
|
||||
this.monsterData = monsterData;
|
||||
this.fightProperties = new Int2FloatOpenHashMap();
|
||||
this.position = new Position(pos);
|
||||
this.rotation = new Position();
|
||||
this.rotation = new Position(rot);
|
||||
this.bornPos = this.getPosition().clone();
|
||||
this.level = level;
|
||||
this.playerOnBattle = new ArrayList<>();
|
||||
|
||||
@@ -107,7 +107,8 @@ public class HomeSceneItem {
|
||||
return new EntityHomeAnimal(
|
||||
scene,
|
||||
GameData.getHomeWorldAnimalDataMap().get(homeAnimalItem.getFurnitureId()),
|
||||
homeAnimalItem.getSpawnPos());
|
||||
homeAnimalItem.getSpawnPos(),
|
||||
homeAnimalItem.getSpawnRot());
|
||||
})
|
||||
.toList();
|
||||
}
|
||||
|
||||
@@ -104,7 +104,7 @@ public final class BlossomActivity {
|
||||
|
||||
var monsterData = GameData.getMonsterDataMap().get((int) entry);
|
||||
var level = scene.getEntityLevel(1, worldLevelOverride);
|
||||
var entity = new EntityMonster(scene, monsterData, pos.nearby2d(4f), level);
|
||||
var entity = new EntityMonster(scene, monsterData, pos.nearby2d(4f), Position.ZERO, level);
|
||||
scene.addEntity(entity);
|
||||
newMonsters.add(entity);
|
||||
}
|
||||
|
||||
@@ -816,8 +816,7 @@ public class Scene {
|
||||
|
||||
int level = this.getEntityLevel(entry.getLevel(), worldLevelOverride);
|
||||
|
||||
EntityMonster monster = new EntityMonster(this, data, entry.getPos(), level);
|
||||
monster.getRotation().set(entry.getRot());
|
||||
EntityMonster monster = new EntityMonster(this, data, entry.getPos(), entry.getRot(), level);
|
||||
monster.setGroupId(entry.getGroup().getGroupId());
|
||||
monster.setPoseId(entry.getPoseId());
|
||||
monster.setConfigId(entry.getConfigId());
|
||||
|
||||
Reference in New Issue
Block a user