Skip to content

Commit

Permalink
Refactoring (Grasscutters#1660)
Browse files Browse the repository at this point in the history
* Refactor a couple of iterators

* Use side-effect instead of second iterator

* Make World::onTick return shouldDelete instead of success

* Replace Shop iterator with side effects

* Scene

* Clean up Expeditions

* Refactor Expeditions

* Clean up Expeditions, Player

* Limit Expeditions by AR

* Lombokify props

Co-authored-by: AnimeGitB <AnimeGitB@bigblueball.in>
  • Loading branch information
Birdulon and Birdulon committed Aug 15, 2022
1 parent bccf516 commit dc9cef8
Show file tree
Hide file tree
Showing 23 changed files with 260 additions and 708 deletions.
22 changes: 5 additions & 17 deletions src/main/java/emu/grasscutter/data/excels/PlayerLevelData.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,32 +2,20 @@

import emu.grasscutter.data.GameResource;
import emu.grasscutter.data.ResourceType;
import lombok.Getter;

@ResourceType(name = "PlayerLevelExcelConfigData.json")
@Getter
public class PlayerLevelData extends GameResource {
private int level;
private int exp;
private int rewardId;
private int expeditionLimitAdd = 0;
private int unlockWorldLevel;

private long unlockDescTextMapHash;

@Override
public int getId() {
return this.level;
}

public int getLevel() {
return level;
}

public int getExp() {
return exp;
}

public int getRewardId() {
return rewardId;
}

public int getUnlockWorldLevel() {
return unlockWorldLevel;
}
}
46 changes: 13 additions & 33 deletions src/main/java/emu/grasscutter/game/expedition/ExpeditionInfo.java
Original file line number Diff line number Diff line change
@@ -1,44 +1,24 @@
package emu.grasscutter.game.expedition;

import dev.morphia.annotations.Entity;
import emu.grasscutter.net.proto.AvatarExpeditionInfoOuterClass.AvatarExpeditionInfo;
import lombok.Getter;
import lombok.Setter;

@Entity
@Getter @Setter
public class ExpeditionInfo {

public int getState() {
return state;
}

public void setState(int state) {
this.state = state;
}

public int getExpId() {
return expId;
}

public void setExpId(int expId) {
this.expId = expId;
}

public int getHourTime() {
return hourTime;
}

public void setHourTime(int hourTime) {
this.hourTime = hourTime;
}

public int getStartTime() {
return startTime;
}

public void setStartTime(int startTime) {
this.startTime = startTime;
}

private int state;
private int expId;
private int hourTime;
private int startTime;

public AvatarExpeditionInfo toProto() {
return AvatarExpeditionInfo.newBuilder()
.setStateValue(this.getState())
.setExpId(this.getExpId())
.setHourTime(this.getHourTime())
.setStartTime(this.getStartTime())
.build();
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,15 @@
package emu.grasscutter.game.expedition;

public class ExpeditionRewardData {
private int itemId;
private int minCount;
private int maxCount;

public int getItemId() {
return itemId;
}
import emu.grasscutter.game.inventory.GameItem;
import emu.grasscutter.utils.Utils;
import lombok.Getter;

public int getMinCount() { return minCount; }
public class ExpeditionRewardData {
@Getter private int itemId;
@Getter private int minCount;
@Getter private int maxCount;

public int getMaxCount() {
return maxCount;
public GameItem getReward() {
return new GameItem(itemId, Utils.randomRange(minCount, maxCount));
}

}
Original file line number Diff line number Diff line change
@@ -1,15 +1,20 @@
package emu.grasscutter.game.expedition;

import java.util.ArrayList;
import java.util.List;

import emu.grasscutter.game.inventory.GameItem;
import lombok.Getter;

public class ExpeditionRewardDataList {
public int getHourTime() {
return hourTime;
}
public List<ExpeditionRewardData> getExpeditionRewardData() {
return expeditionRewardData;
}
@Getter private int hourTime;
@Getter private List<ExpeditionRewardData> expeditionRewardData;

private int hourTime;
private List<ExpeditionRewardData> expeditionRewardData;
public List<GameItem> getRewards() {
List<GameItem> rewards = new ArrayList<>();
if (expeditionRewardData != null) {
expeditionRewardData.forEach(data -> rewards.add(data.getReward()));
}
return rewards;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,9 @@

import java.util.List;

public class ExpeditionRewardInfo {
public int getExpId() {
return expId;
}

public List<ExpeditionRewardDataList> getExpeditionRewardDataList() {
return expeditionRewardDataList;
}
import lombok.Getter;

private int expId;
private List<ExpeditionRewardDataList> expeditionRewardDataList;
public class ExpeditionRewardInfo {
@Getter private int expId;
@Getter private List<ExpeditionRewardDataList> expeditionRewardDataList;
}
Loading

0 comments on commit dc9cef8

Please sign in to comment.