Run Spotless on src/main

This commit is contained in:
KingRainbow44
2023-03-31 22:30:45 -04:00
parent 99822b0e22
commit fc05602128
1003 changed files with 60650 additions and 58050 deletions

View File

@@ -1,25 +1,19 @@
package emu.grasscutter.game.tower;
import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Transient;
import java.util.Map;
@Entity
public class TowerData {
/**
* the floor players chose
*/
int currentFloorId;
int currentLevel;
@Transient
int currentLevelId;
/**
* floorId - Record
*/
Map<Integer, TowerLevelRecord> recordMap;
@Transient
int entryScene;
}
package emu.grasscutter.game.tower;
import dev.morphia.annotations.Entity;
import dev.morphia.annotations.Transient;
import java.util.Map;
@Entity
public class TowerData {
/** the floor players chose */
int currentFloorId;
int currentLevel;
@Transient int currentLevelId;
/** floorId - Record */
Map<Integer, TowerLevelRecord> recordMap;
@Transient int entryScene;
}

View File

@@ -1,64 +1,56 @@
package emu.grasscutter.game.tower;
import dev.morphia.annotations.Entity;
import java.util.HashMap;
import java.util.Map;
@Entity
public class TowerLevelRecord {
/**
* floorId in config
*/
private int floorId;
/**
* LevelId - Stars
*/
private Map<Integer, Integer> passedLevelMap;
private int floorStarRewardProgress;
public TowerLevelRecord() {
}
public TowerLevelRecord(int floorId) {
this.floorId = floorId;
this.passedLevelMap = new HashMap<>();
this.floorStarRewardProgress = 0;
}
public TowerLevelRecord setLevelStars(int levelId, int stars) {
passedLevelMap.put(levelId, stars);
return this;
}
public int getStarCount() {
return passedLevelMap.values().stream().mapToInt(Integer::intValue).sum();
}
public int getFloorId() {
return floorId;
}
public void setFloorId(int floorId) {
this.floorId = floorId;
}
public Map<Integer, Integer> getPassedLevelMap() {
return passedLevelMap;
}
public void setPassedLevelMap(Map<Integer, Integer> passedLevelMap) {
this.passedLevelMap = passedLevelMap;
}
public int getFloorStarRewardProgress() {
return floorStarRewardProgress;
}
public void setFloorStarRewardProgress(int floorStarRewardProgress) {
this.floorStarRewardProgress = floorStarRewardProgress;
}
}
package emu.grasscutter.game.tower;
import dev.morphia.annotations.Entity;
import java.util.HashMap;
import java.util.Map;
@Entity
public class TowerLevelRecord {
/** floorId in config */
private int floorId;
/** LevelId - Stars */
private Map<Integer, Integer> passedLevelMap;
private int floorStarRewardProgress;
public TowerLevelRecord() {}
public TowerLevelRecord(int floorId) {
this.floorId = floorId;
this.passedLevelMap = new HashMap<>();
this.floorStarRewardProgress = 0;
}
public TowerLevelRecord setLevelStars(int levelId, int stars) {
passedLevelMap.put(levelId, stars);
return this;
}
public int getStarCount() {
return passedLevelMap.values().stream().mapToInt(Integer::intValue).sum();
}
public int getFloorId() {
return floorId;
}
public void setFloorId(int floorId) {
this.floorId = floorId;
}
public Map<Integer, Integer> getPassedLevelMap() {
return passedLevelMap;
}
public void setPassedLevelMap(Map<Integer, Integer> passedLevelMap) {
this.passedLevelMap = passedLevelMap;
}
public int getFloorStarRewardProgress() {
return floorStarRewardProgress;
}
public void setFloorStarRewardProgress(int floorStarRewardProgress) {
this.floorStarRewardProgress = floorStarRewardProgress;
}
}

View File

@@ -1,149 +1,161 @@
package emu.grasscutter.game.tower;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.TowerLevelData;
import emu.grasscutter.game.dungeons.DungeonSettleListener;
import emu.grasscutter.game.dungeons.TowerDungeonSettleListener;
import emu.grasscutter.game.player.BasePlayerManager;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TowerManager extends BasePlayerManager {
private static final List<DungeonSettleListener> towerDungeonSettleListener = List.of(new TowerDungeonSettleListener());
public TowerManager(Player player) {
super(player);
}
public TowerData getTowerData() {
return getPlayer().getTowerData();
}
public int getCurrentFloorId() {
return getTowerData().currentFloorId;
}
public int getCurrentLevelId() {
return getTowerData().currentLevelId + getTowerData().currentLevel;
}
/**
* form 1-3
*/
public int getCurrentLevel() {
return getTowerData().currentLevel + 1;
}
public Map<Integer, TowerLevelRecord> getRecordMap() {
Map<Integer, TowerLevelRecord> recordMap = getTowerData().recordMap;
if (recordMap == null || recordMap.size() == 0) {
recordMap = new HashMap<>();
recordMap.put(1001, new TowerLevelRecord(1001));
getTowerData().recordMap = recordMap;
}
return recordMap;
}
public void teamSelect(int floor, List<List<Long>> towerTeams) {
var floorData = GameData.getTowerFloorDataMap().get(floor);
getTowerData().currentFloorId = floorData.getFloorId();
getTowerData().currentLevel = 0;
getTowerData().currentLevelId = GameData.getTowerLevelDataMap().values().stream()
.filter(x -> x.getLevelGroupId() == floorData.getLevelGroupId() && x.getLevelIndex() == 1)
.findFirst()
.map(TowerLevelData::getId)
.orElse(0);
if (getTowerData().entryScene == 0) {
getTowerData().entryScene = player.getSceneId();
}
player.getTeamManager().setupTemporaryTeam(towerTeams);
}
public void enterLevel(int enterPointId) {
var levelData = GameData.getTowerLevelDataMap().get(getCurrentLevelId());
var dungeonId = levelData.getDungeonId();
notifyCurLevelRecordChange();
// use team user choose
player.getTeamManager().useTemporaryTeam(0);
player.getServer().getDungeonSystem().handoffDungeon(player, dungeonId,
towerDungeonSettleListener);
// make sure user can exit dungeon correctly
player.getScene().setPrevScene(getTowerData().entryScene);
player.getScene().setPrevScenePoint(enterPointId);
player.getSession().send(new PacketTowerEnterLevelRsp(getTowerData().currentFloorId, getCurrentLevel()));
// stop using skill
player.getSession().send(new PacketCanUseSkillNotify(false));
// notify the cond of stars
player.getSession().send(new PacketTowerLevelStarCondNotify(getTowerData().currentFloorId, getCurrentLevel()));
}
public void notifyCurLevelRecordChange() {
player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(getTowerData().currentFloorId, getCurrentLevel()));
}
public void notifyCurLevelRecordChangeWhenDone(int stars) {
Map<Integer, TowerLevelRecord> recordMap = getRecordMap();
int currentFloorId = getTowerData().currentFloorId;
if (!recordMap.containsKey(currentFloorId)) {
recordMap.put(currentFloorId,
new TowerLevelRecord(currentFloorId).setLevelStars(getCurrentLevelId(), stars));
} else {
recordMap.put(currentFloorId,
recordMap.get(currentFloorId).setLevelStars(getCurrentLevelId(), stars));
}
getTowerData().currentLevel++;
if (!hasNextLevel()) {
// set up the next floor
var nextFloorId = this.getNextFloorId();
recordMap.computeIfAbsent(nextFloorId, TowerLevelRecord::new);
player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(nextFloorId, 1));
} else {
player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(currentFloorId, getCurrentLevel()));
}
}
public boolean hasNextLevel() {
return getTowerData().currentLevel < 3;
}
public int getNextFloorId() {
return player.getServer().getTowerSystem().getNextFloorId(getTowerData().currentFloorId);
}
public boolean hasNextFloor() {
return player.getServer().getTowerSystem().getNextFloorId(getTowerData().currentFloorId) > 0;
}
public void clearEntry() {
getTowerData().entryScene = 0;
}
public boolean canEnterScheduleFloor() {
Map<Integer, TowerLevelRecord> recordMap = getRecordMap();
if (!recordMap.containsKey(player.getServer().getTowerSystem().getLastEntranceFloor())) {
return false;
}
return recordMap.get(player.getServer().getTowerSystem().getLastEntranceFloor())
.getStarCount() >= 6;
}
public void mirrorTeamSetUp(int teamId) {
// use team user choose
player.getTeamManager().useTemporaryTeam(teamId);
player.sendPacket(new PacketTowerMiddleLevelChangeTeamNotify());
}
}
package emu.grasscutter.game.tower;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.TowerLevelData;
import emu.grasscutter.game.dungeons.DungeonSettleListener;
import emu.grasscutter.game.dungeons.TowerDungeonSettleListener;
import emu.grasscutter.game.player.BasePlayerManager;
import emu.grasscutter.game.player.Player;
import emu.grasscutter.server.packet.send.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class TowerManager extends BasePlayerManager {
private static final List<DungeonSettleListener> towerDungeonSettleListener =
List.of(new TowerDungeonSettleListener());
public TowerManager(Player player) {
super(player);
}
public TowerData getTowerData() {
return getPlayer().getTowerData();
}
public int getCurrentFloorId() {
return getTowerData().currentFloorId;
}
public int getCurrentLevelId() {
return getTowerData().currentLevelId + getTowerData().currentLevel;
}
/** form 1-3 */
public int getCurrentLevel() {
return getTowerData().currentLevel + 1;
}
public Map<Integer, TowerLevelRecord> getRecordMap() {
Map<Integer, TowerLevelRecord> recordMap = getTowerData().recordMap;
if (recordMap == null || recordMap.size() == 0) {
recordMap = new HashMap<>();
recordMap.put(1001, new TowerLevelRecord(1001));
getTowerData().recordMap = recordMap;
}
return recordMap;
}
public void teamSelect(int floor, List<List<Long>> towerTeams) {
var floorData = GameData.getTowerFloorDataMap().get(floor);
getTowerData().currentFloorId = floorData.getFloorId();
getTowerData().currentLevel = 0;
getTowerData().currentLevelId =
GameData.getTowerLevelDataMap().values().stream()
.filter(
x -> x.getLevelGroupId() == floorData.getLevelGroupId() && x.getLevelIndex() == 1)
.findFirst()
.map(TowerLevelData::getId)
.orElse(0);
if (getTowerData().entryScene == 0) {
getTowerData().entryScene = player.getSceneId();
}
player.getTeamManager().setupTemporaryTeam(towerTeams);
}
public void enterLevel(int enterPointId) {
var levelData = GameData.getTowerLevelDataMap().get(getCurrentLevelId());
var dungeonId = levelData.getDungeonId();
notifyCurLevelRecordChange();
// use team user choose
player.getTeamManager().useTemporaryTeam(0);
player
.getServer()
.getDungeonSystem()
.handoffDungeon(player, dungeonId, towerDungeonSettleListener);
// make sure user can exit dungeon correctly
player.getScene().setPrevScene(getTowerData().entryScene);
player.getScene().setPrevScenePoint(enterPointId);
player
.getSession()
.send(new PacketTowerEnterLevelRsp(getTowerData().currentFloorId, getCurrentLevel()));
// stop using skill
player.getSession().send(new PacketCanUseSkillNotify(false));
// notify the cond of stars
player
.getSession()
.send(new PacketTowerLevelStarCondNotify(getTowerData().currentFloorId, getCurrentLevel()));
}
public void notifyCurLevelRecordChange() {
player
.getSession()
.send(
new PacketTowerCurLevelRecordChangeNotify(
getTowerData().currentFloorId, getCurrentLevel()));
}
public void notifyCurLevelRecordChangeWhenDone(int stars) {
Map<Integer, TowerLevelRecord> recordMap = getRecordMap();
int currentFloorId = getTowerData().currentFloorId;
if (!recordMap.containsKey(currentFloorId)) {
recordMap.put(
currentFloorId,
new TowerLevelRecord(currentFloorId).setLevelStars(getCurrentLevelId(), stars));
} else {
recordMap.put(
currentFloorId, recordMap.get(currentFloorId).setLevelStars(getCurrentLevelId(), stars));
}
getTowerData().currentLevel++;
if (!hasNextLevel()) {
// set up the next floor
var nextFloorId = this.getNextFloorId();
recordMap.computeIfAbsent(nextFloorId, TowerLevelRecord::new);
player.getSession().send(new PacketTowerCurLevelRecordChangeNotify(nextFloorId, 1));
} else {
player
.getSession()
.send(new PacketTowerCurLevelRecordChangeNotify(currentFloorId, getCurrentLevel()));
}
}
public boolean hasNextLevel() {
return getTowerData().currentLevel < 3;
}
public int getNextFloorId() {
return player.getServer().getTowerSystem().getNextFloorId(getTowerData().currentFloorId);
}
public boolean hasNextFloor() {
return player.getServer().getTowerSystem().getNextFloorId(getTowerData().currentFloorId) > 0;
}
public void clearEntry() {
getTowerData().entryScene = 0;
}
public boolean canEnterScheduleFloor() {
Map<Integer, TowerLevelRecord> recordMap = getRecordMap();
if (!recordMap.containsKey(player.getServer().getTowerSystem().getLastEntranceFloor())) {
return false;
}
return recordMap.get(player.getServer().getTowerSystem().getLastEntranceFloor()).getStarCount()
>= 6;
}
public void mirrorTeamSetUp(int teamId) {
// use team user choose
player.getTeamManager().useTemporaryTeam(teamId);
player.sendPacket(new PacketTowerMiddleLevelChangeTeamNotify());
}
}

View File

@@ -1,35 +1,34 @@
package emu.grasscutter.game.tower;
import java.util.Date;
public class TowerScheduleConfig {
private int scheduleId;
private Date scheduleStartTime;
private Date nextScheduleChangeTime;
public int getScheduleId() {
return scheduleId;
}
public void setScheduleId(int scheduleId) {
this.scheduleId = scheduleId;
}
public Date getScheduleStartTime() {
return scheduleStartTime;
}
public void setScheduleStartTime(Date scheduleStartTime) {
this.scheduleStartTime = scheduleStartTime;
}
public Date getNextScheduleChangeTime() {
return nextScheduleChangeTime;
}
public void setNextScheduleChangeTime(Date nextScheduleChangeTime) {
this.nextScheduleChangeTime = nextScheduleChangeTime;
}
}
package emu.grasscutter.game.tower;
import java.util.Date;
public class TowerScheduleConfig {
private int scheduleId;
private Date scheduleStartTime;
private Date nextScheduleChangeTime;
public int getScheduleId() {
return scheduleId;
}
public void setScheduleId(int scheduleId) {
this.scheduleId = scheduleId;
}
public Date getScheduleStartTime() {
return scheduleStartTime;
}
public void setScheduleStartTime(Date scheduleStartTime) {
this.scheduleStartTime = scheduleStartTime;
}
public Date getNextScheduleChangeTime() {
return nextScheduleChangeTime;
}
public void setNextScheduleChangeTime(Date nextScheduleChangeTime) {
this.nextScheduleChangeTime = nextScheduleChangeTime;
}
}

View File

@@ -1,86 +1,89 @@
package emu.grasscutter.game.tower;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.TowerScheduleData;
import emu.grasscutter.server.game.BaseGameSystem;
import emu.grasscutter.server.game.GameServer;
import java.util.ArrayList;
import java.util.List;
public class TowerSystem extends BaseGameSystem {
private TowerScheduleConfig towerScheduleConfig;
public TowerSystem(GameServer server) {
super(server);
this.load();
}
public synchronized void load() {
try {
towerScheduleConfig = DataLoader.loadClass("TowerSchedule.json", TowerScheduleConfig.class);
} catch (Exception e) {
Grasscutter.getLogger().error("Unable to load tower schedule config.", e);
}
}
public TowerScheduleConfig getTowerScheduleConfig() {
return towerScheduleConfig;
}
public TowerScheduleData getCurrentTowerScheduleData() {
var data = GameData.getTowerScheduleDataMap().get(towerScheduleConfig.getScheduleId());
if (data == null) {
Grasscutter.getLogger().error("Could not get current tower schedule data by schedule id {}, please check your resource files",
towerScheduleConfig.getScheduleId());
}
return data;
}
public List<Integer> getAllFloors() {
List<Integer> floors = new ArrayList<>(this.getCurrentTowerScheduleData().getEntranceFloorId());
floors.addAll(this.getScheduleFloors());
return floors;
}
public List<Integer> getScheduleFloors() {
return getCurrentTowerScheduleData().getSchedules().get(0).getFloorList();
}
public int getNextFloorId(int floorId) {
var entranceFloors = getCurrentTowerScheduleData().getEntranceFloorId();
var scheduleFloors = getScheduleFloors();
var nextId = 0;
// find in entrance floors first
for (int i = 0; i < entranceFloors.size() - 1; i++) {
if (floorId == entranceFloors.get(i)) {
nextId = entranceFloors.get(i + 1);
}
}
if (floorId == entranceFloors.get(entranceFloors.size() - 1)) {
nextId = scheduleFloors.get(0);
}
if (nextId != 0) {
return nextId;
}
// find in schedule floors
for (int i = 0; i < scheduleFloors.size() - 1; i++) {
if (floorId == scheduleFloors.get(i)) {
nextId = scheduleFloors.get(i + 1);
}
}
return nextId;
}
public Integer getLastEntranceFloor() {
return getCurrentTowerScheduleData().getEntranceFloorId().get(getCurrentTowerScheduleData().getEntranceFloorId().size() - 1);
}
}
package emu.grasscutter.game.tower;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.DataLoader;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.excels.TowerScheduleData;
import emu.grasscutter.server.game.BaseGameSystem;
import emu.grasscutter.server.game.GameServer;
import java.util.ArrayList;
import java.util.List;
public class TowerSystem extends BaseGameSystem {
private TowerScheduleConfig towerScheduleConfig;
public TowerSystem(GameServer server) {
super(server);
this.load();
}
public synchronized void load() {
try {
towerScheduleConfig = DataLoader.loadClass("TowerSchedule.json", TowerScheduleConfig.class);
} catch (Exception e) {
Grasscutter.getLogger().error("Unable to load tower schedule config.", e);
}
}
public TowerScheduleConfig getTowerScheduleConfig() {
return towerScheduleConfig;
}
public TowerScheduleData getCurrentTowerScheduleData() {
var data = GameData.getTowerScheduleDataMap().get(towerScheduleConfig.getScheduleId());
if (data == null) {
Grasscutter.getLogger()
.error(
"Could not get current tower schedule data by schedule id {}, please check your resource files",
towerScheduleConfig.getScheduleId());
}
return data;
}
public List<Integer> getAllFloors() {
List<Integer> floors = new ArrayList<>(this.getCurrentTowerScheduleData().getEntranceFloorId());
floors.addAll(this.getScheduleFloors());
return floors;
}
public List<Integer> getScheduleFloors() {
return getCurrentTowerScheduleData().getSchedules().get(0).getFloorList();
}
public int getNextFloorId(int floorId) {
var entranceFloors = getCurrentTowerScheduleData().getEntranceFloorId();
var scheduleFloors = getScheduleFloors();
var nextId = 0;
// find in entrance floors first
for (int i = 0; i < entranceFloors.size() - 1; i++) {
if (floorId == entranceFloors.get(i)) {
nextId = entranceFloors.get(i + 1);
}
}
if (floorId == entranceFloors.get(entranceFloors.size() - 1)) {
nextId = scheduleFloors.get(0);
}
if (nextId != 0) {
return nextId;
}
// find in schedule floors
for (int i = 0; i < scheduleFloors.size() - 1; i++) {
if (floorId == scheduleFloors.get(i)) {
nextId = scheduleFloors.get(i + 1);
}
}
return nextId;
}
public Integer getLastEntranceFloor() {
return getCurrentTowerScheduleData()
.getEntranceFloorId()
.get(getCurrentTowerScheduleData().getEntranceFloorId().size() - 1);
}
}