Renamed all references to a certain game

This commit is contained in:
Melledy
2022-04-26 21:21:57 -07:00
parent 6b8902bee2
commit 1c36f0785b
270 changed files with 1328 additions and 1347 deletions

View File

@@ -4,26 +4,26 @@ import java.util.HashSet;
import java.util.Set;
public class EquipInventoryTab implements InventoryTab {
private final Set<GenshinItem> items;
private final Set<GameItem> items;
private final int maxCapacity;
public EquipInventoryTab(int maxCapacity) {
this.items = new HashSet<GenshinItem>();
this.items = new HashSet<GameItem>();
this.maxCapacity = maxCapacity;
}
@Override
public GenshinItem getItemById(int id) {
public GameItem getItemById(int id) {
return null;
}
@Override
public void onAddItem(GenshinItem item) {
public void onAddItem(GameItem item) {
this.items.add(item);
}
@Override
public void onRemoveItem(GenshinItem item) {
public void onRemoveItem(GameItem item) {
this.items.remove(item);
}

View File

@@ -13,13 +13,13 @@ import dev.morphia.annotations.Indexed;
import dev.morphia.annotations.PostLoad;
import dev.morphia.annotations.Transient;
import emu.grasscutter.data.GenshinData;
import emu.grasscutter.data.GenshinDepot;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.GameDepot;
import emu.grasscutter.data.def.ItemData;
import emu.grasscutter.data.def.ReliquaryAffixData;
import emu.grasscutter.data.def.ReliquaryMainPropData;
import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.GenshinPlayer;
import emu.grasscutter.game.Player;
import emu.grasscutter.game.props.FightProperty;
import emu.grasscutter.net.proto.AbilitySyncStateInfoOuterClass.AbilitySyncStateInfo;
import emu.grasscutter.net.proto.EquipOuterClass.Equip;
@@ -35,7 +35,7 @@ import emu.grasscutter.net.proto.WeaponOuterClass.Weapon;
import emu.grasscutter.utils.WeightedList;
@Entity(value = "items", useDiscriminator = false)
public class GenshinItem {
public class GameItem {
@Id private ObjectId id;
@Indexed private int ownerId;
private int itemId;
@@ -62,23 +62,23 @@ public class GenshinItem {
private int equipCharacter;
@Transient private int weaponEntityId;
public GenshinItem() {
public GameItem() {
// Morphia only
}
public GenshinItem(int itemId) {
this(GenshinData.getItemDataMap().get(itemId));
public GameItem(int itemId) {
this(GameData.getItemDataMap().get(itemId));
}
public GenshinItem(int itemId, int count) {
this(GenshinData.getItemDataMap().get(itemId), count);
public GameItem(int itemId, int count) {
this(GameData.getItemDataMap().get(itemId), count);
}
public GenshinItem(ItemData data) {
public GameItem(ItemData data) {
this(data, 1);
}
public GenshinItem(ItemData data, int count) {
public GameItem(ItemData data, int count) {
this.itemId = data.getId();
this.itemData = data;
@@ -103,7 +103,7 @@ public class GenshinItem {
this.level = 1;
this.appendPropIdList = new ArrayList<>();
// Create main property
ReliquaryMainPropData mainPropData = GenshinDepot.getRandomRelicMainProp(getItemData().getMainPropDepotId());
ReliquaryMainPropData mainPropData = GameDepot.getRandomRelicMainProp(getItemData().getMainPropDepotId());
if (mainPropData != null) {
this.mainPropId = mainPropData.getId();
}
@@ -124,9 +124,9 @@ public class GenshinItem {
return ownerId;
}
public void setOwner(GenshinPlayer player) {
public void setOwner(Player player) {
this.ownerId = player.getUid();
this.guid = player.getNextGenshinGuid();
this.guid = player.getNextGameGuid();
}
public int getItemId() {
return itemId;
@@ -261,7 +261,7 @@ public class GenshinItem {
}
private void addNewAppendProp() {
List<ReliquaryAffixData> affixList = GenshinDepot.getRandomRelicAffixList(getItemData().getAppendPropDepotId());
List<ReliquaryAffixData> affixList = GameDepot.getRandomRelicAffixList(getItemData().getAppendPropDepotId());
if (affixList == null) {
return;
@@ -269,13 +269,13 @@ public class GenshinItem {
// Build blacklist - Dont add same stat as main/sub stat
Set<FightProperty> blacklist = new HashSet<>();
ReliquaryMainPropData mainPropData = GenshinData.getReliquaryMainPropDataMap().get(this.getMainPropId());
ReliquaryMainPropData mainPropData = GameData.getReliquaryMainPropDataMap().get(this.getMainPropId());
if (mainPropData != null) {
blacklist.add(mainPropData.getFightProp());
}
int len = Math.min(4, this.getAppendPropIdList().size());
for (int i = 0; i < len; i++) {
ReliquaryAffixData affixData = GenshinData.getReliquaryAffixDataMap().get((int) this.getAppendPropIdList().get(i));
ReliquaryAffixData affixData = GameData.getReliquaryAffixDataMap().get((int) this.getAppendPropIdList().get(i));
if (affixData != null) {
blacklist.add(affixData.getFightProp());
}
@@ -299,7 +299,7 @@ public class GenshinItem {
}
private void upgradeRandomAppendProp() {
List<ReliquaryAffixData> affixList = GenshinDepot.getRandomRelicAffixList(getItemData().getAppendPropDepotId());
List<ReliquaryAffixData> affixList = GameDepot.getRandomRelicAffixList(getItemData().getAppendPropDepotId());
if (affixList == null) {
return;
@@ -309,7 +309,7 @@ public class GenshinItem {
Set<FightProperty> whitelist = new HashSet<>();
int len = Math.min(4, this.getAppendPropIdList().size());
for (int i = 0; i < len; i++) {
ReliquaryAffixData affixData = GenshinData.getReliquaryAffixDataMap().get((int) this.getAppendPropIdList().get(i));
ReliquaryAffixData affixData = GameData.getReliquaryAffixDataMap().get((int) this.getAppendPropIdList().get(i));
if (affixData != null) {
whitelist.add(affixData.getFightProp());
}
@@ -331,7 +331,7 @@ public class GenshinItem {
@PostLoad
public void onLoad() {
if (this.itemData == null) {
this.itemData = GenshinData.getItemDataMap().get(getItemId());
this.itemData = GameData.getItemDataMap().get(getItemId());
}
}

View File

@@ -5,17 +5,17 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
import emu.grasscutter.GenshinConstants;
import emu.grasscutter.GameConstants;
import emu.grasscutter.Grasscutter;
import emu.grasscutter.data.GenshinData;
import emu.grasscutter.data.GameData;
import emu.grasscutter.data.def.AvatarCostumeData;
import emu.grasscutter.data.def.AvatarData;
import emu.grasscutter.data.def.AvatarFlycloakData;
import emu.grasscutter.data.def.ItemData;
import emu.grasscutter.database.DatabaseHelper;
import emu.grasscutter.game.GenshinPlayer;
import emu.grasscutter.game.Player;
import emu.grasscutter.game.avatar.AvatarStorage;
import emu.grasscutter.game.avatar.GenshinAvatar;
import emu.grasscutter.game.avatar.Avatar;
import emu.grasscutter.game.entity.EntityAvatar;
import emu.grasscutter.game.props.ActionReason;
import emu.grasscutter.net.proto.ItemParamOuterClass.ItemParam;
@@ -28,13 +28,13 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
import it.unimi.dsi.fastutil.longs.Long2ObjectMap;
import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap;
public class Inventory implements Iterable<GenshinItem> {
private final GenshinPlayer player;
public class Inventory implements Iterable<GameItem> {
private final Player player;
private final Long2ObjectMap<GenshinItem> store;
private final Long2ObjectMap<GameItem> store;
private final Int2ObjectMap<InventoryTab> inventoryTypes;
public Inventory(GenshinPlayer player) {
public Inventory(Player player) {
this.player = player;
this.store = new Long2ObjectOpenHashMap<>();
this.inventoryTypes = new Int2ObjectOpenHashMap<>();
@@ -45,7 +45,7 @@ public class Inventory implements Iterable<GenshinItem> {
this.createInventoryTab(ItemType.ITEM_FURNITURE, new MaterialInventoryTab(Grasscutter.getConfig().getGameServerOptions().InventoryLimitFurniture));
}
public GenshinPlayer getPlayer() {
public Player getPlayer() {
return player;
}
@@ -53,7 +53,7 @@ public class Inventory implements Iterable<GenshinItem> {
return this.getPlayer().getAvatars();
}
public Long2ObjectMap<GenshinItem> getItems() {
public Long2ObjectMap<GameItem> getItems() {
return store;
}
@@ -69,7 +69,7 @@ public class Inventory implements Iterable<GenshinItem> {
this.getInventoryTypes().put(type.getValue(), tab);
}
public GenshinItem getItemByGuid(long id) {
public GameItem getItemByGuid(long id) {
return this.getItems().get(id);
}
@@ -78,19 +78,19 @@ public class Inventory implements Iterable<GenshinItem> {
}
public boolean addItem(int itemId, int count) {
ItemData itemData = GenshinData.getItemDataMap().get(itemId);
ItemData itemData = GameData.getItemDataMap().get(itemId);
if (itemData == null) {
return false;
}
GenshinItem item = new GenshinItem(itemData, count);
GameItem item = new GameItem(itemData, count);
return addItem(item);
}
public boolean addItem(GenshinItem item) {
GenshinItem result = putItem(item);
public boolean addItem(GameItem item) {
GameItem result = putItem(item);
if (result != null) {
getPlayer().sendPacket(new PacketStoreItemChangeNotify(result));
@@ -100,7 +100,7 @@ public class Inventory implements Iterable<GenshinItem> {
return false;
}
public boolean addItem(GenshinItem item, ActionReason reason) {
public boolean addItem(GameItem item, ActionReason reason) {
boolean result = addItem(item);
if (result && reason != null) {
@@ -110,15 +110,15 @@ public class Inventory implements Iterable<GenshinItem> {
return result;
}
public void addItems(Collection<GenshinItem> items) {
public void addItems(Collection<GameItem> items) {
this.addItems(items, null);
}
public void addItems(Collection<GenshinItem> items, ActionReason reason) {
List<GenshinItem> changedItems = new LinkedList<>();
public void addItems(Collection<GameItem> items, ActionReason reason) {
List<GameItem> changedItems = new LinkedList<>();
for (GenshinItem item : items) {
GenshinItem result = putItem(item);
for (GameItem item : items) {
GameItem result = putItem(item);
if (result != null) {
changedItems.add(result);
}
@@ -136,10 +136,10 @@ public class Inventory implements Iterable<GenshinItem> {
}
public void addItemParams(Collection<ItemParam> items) {
addItems(items.stream().map(param -> new GenshinItem(param.getItemId(), param.getCount())).toList(), null);
addItems(items.stream().map(param -> new GameItem(param.getItemId(), param.getCount())).toList(), null);
}
private synchronized GenshinItem putItem(GenshinItem item) {
private synchronized GameItem putItem(GameItem item) {
// Dont add items that dont have a valid item definition.
if (item.getItemData() == null) {
return null;
@@ -163,23 +163,23 @@ public class Inventory implements Iterable<GenshinItem> {
// Get avatar id
int avatarId = (item.getItemId() % 1000) + 10000000;
// Dont let people give themselves extra main characters
if (avatarId == GenshinConstants.MAIN_CHARACTER_MALE || avatarId == GenshinConstants.MAIN_CHARACTER_FEMALE) {
if (avatarId == GameConstants.MAIN_CHARACTER_MALE || avatarId == GameConstants.MAIN_CHARACTER_FEMALE) {
return null;
}
// Add avatar
AvatarData avatarData = GenshinData.getAvatarDataMap().get(avatarId);
AvatarData avatarData = GameData.getAvatarDataMap().get(avatarId);
if (avatarData != null && !player.getAvatars().hasAvatar(avatarId)) {
this.getPlayer().addAvatar(new GenshinAvatar(avatarData));
this.getPlayer().addAvatar(new Avatar(avatarData));
}
return null;
} else if (item.getItemData().getMaterialType() == MaterialType.MATERIAL_FLYCLOAK) {
AvatarFlycloakData flycloakData = GenshinData.getAvatarFlycloakDataMap().get(item.getItemId());
AvatarFlycloakData flycloakData = GameData.getAvatarFlycloakDataMap().get(item.getItemId());
if (flycloakData != null && !player.getFlyCloakList().contains(item.getItemId())) {
getPlayer().addFlycloak(item.getItemId());
}
return null;
} else if (item.getItemData().getMaterialType() == MaterialType.MATERIAL_COSTUME) {
AvatarCostumeData costumeData = GenshinData.getAvatarCostumeDataItemIdMap().get(item.getItemId());
AvatarCostumeData costumeData = GameData.getAvatarCostumeDataItemIdMap().get(item.getItemId());
if (costumeData != null && !player.getCostumeList().contains(costumeData.getId())) {
getPlayer().addCostume(costumeData.getId());
}
@@ -190,7 +190,7 @@ public class Inventory implements Iterable<GenshinItem> {
}
return null;
} else if (tab != null) {
GenshinItem existingItem = tab.getItemById(item.getItemId());
GameItem existingItem = tab.getItemById(item.getItemId());
if (existingItem == null) {
// Item type didnt exist before, we will add it to main inventory map if there is enough space
if (tab.getSize() >= tab.getMaxCapacity()) {
@@ -213,7 +213,7 @@ public class Inventory implements Iterable<GenshinItem> {
return item;
}
private synchronized void putItem(GenshinItem item, InventoryTab tab) {
private synchronized void putItem(GameItem item, InventoryTab tab) {
// Set owner and guid FIRST!
item.setOwner(getPlayer());
// Put in item store
@@ -242,9 +242,9 @@ public class Inventory implements Iterable<GenshinItem> {
}
}
public void removeItems(List<GenshinItem> items) {
public void removeItems(List<GameItem> items) {
// TODO Bulk delete
for (GenshinItem item : items) {
for (GameItem item : items) {
this.removeItem(item, item.getCount());
}
}
@@ -254,7 +254,7 @@ public class Inventory implements Iterable<GenshinItem> {
}
public synchronized boolean removeItem(long guid, int count) {
GenshinItem item = this.getItemByGuid(guid);
GameItem item = this.getItemByGuid(guid);
if (item == null) {
return false;
@@ -263,11 +263,11 @@ public class Inventory implements Iterable<GenshinItem> {
return removeItem(item, count);
}
public synchronized boolean removeItem(GenshinItem item) {
public synchronized boolean removeItem(GameItem item) {
return removeItem(item, item.getCount());
}
public synchronized boolean removeItem(GenshinItem item, int count) {
public synchronized boolean removeItem(GameItem item, int count) {
// Sanity check
if (count <= 0 || item == null) {
return false;
@@ -296,7 +296,7 @@ public class Inventory implements Iterable<GenshinItem> {
return true;
}
private void deleteItem(GenshinItem item, InventoryTab tab) {
private void deleteItem(GameItem item, InventoryTab tab) {
getItems().remove(item.getGuid());
if (tab != null) {
tab.onRemoveItem(item);
@@ -304,8 +304,8 @@ public class Inventory implements Iterable<GenshinItem> {
}
public boolean equipItem(long avatarGuid, long equipGuid) {
GenshinAvatar avatar = getPlayer().getAvatars().getAvatarByGuid(avatarGuid);
GenshinItem item = this.getItemByGuid(equipGuid);
Avatar avatar = getPlayer().getAvatars().getAvatarByGuid(avatarGuid);
GameItem item = this.getItemByGuid(equipGuid);
if (avatar != null && item != null) {
return avatar.equipItem(item, true);
@@ -315,7 +315,7 @@ public class Inventory implements Iterable<GenshinItem> {
}
public boolean unequipItem(long avatarGuid, int slot) {
GenshinAvatar avatar = getPlayer().getAvatars().getAvatarByGuid(avatarGuid);
Avatar avatar = getPlayer().getAvatars().getAvatarByGuid(avatarGuid);
EquipType equipType = EquipType.getTypeByValue(slot);
if (avatar != null && equipType != EquipType.EQUIP_WEAPON) {
@@ -330,15 +330,15 @@ public class Inventory implements Iterable<GenshinItem> {
}
public void loadFromDatabase() {
List<GenshinItem> items = DatabaseHelper.getInventoryItems(getPlayer());
List<GameItem> items = DatabaseHelper.getInventoryItems(getPlayer());
for (GenshinItem item : items) {
for (GameItem item : items) {
// Should never happen
if (item.getObjectId() == null) {
continue;
}
ItemData itemData = GenshinData.getItemDataMap().get(item.getItemId());
ItemData itemData = GameData.getItemDataMap().get(item.getItemId());
if (itemData == null) {
continue;
}
@@ -354,7 +354,7 @@ public class Inventory implements Iterable<GenshinItem> {
// Equip to a character if possible
if (item.isEquipped()) {
GenshinAvatar avatar = getPlayer().getAvatars().getAvatarById(item.getEquipCharacter());
Avatar avatar = getPlayer().getAvatars().getAvatarById(item.getEquipCharacter());
boolean hasEquipped = false;
if (avatar != null) {
@@ -370,7 +370,7 @@ public class Inventory implements Iterable<GenshinItem> {
}
@Override
public Iterator<GenshinItem> iterator() {
public Iterator<GameItem> iterator() {
return this.getItems().values().iterator();
}
}

View File

@@ -1,11 +1,11 @@
package emu.grasscutter.game.inventory;
public interface InventoryTab {
public GenshinItem getItemById(int id);
public GameItem getItemById(int id);
public void onAddItem(GenshinItem item);
public void onAddItem(GameItem item);
public void onRemoveItem(GenshinItem item);
public void onRemoveItem(GameItem item);
public int getSize();

View File

@@ -4,7 +4,7 @@ import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
public class MaterialInventoryTab implements InventoryTab {
private final Int2ObjectMap<GenshinItem> items;
private final Int2ObjectMap<GameItem> items;
private final int maxCapacity;
public MaterialInventoryTab(int maxCapacity) {
@@ -13,17 +13,17 @@ public class MaterialInventoryTab implements InventoryTab {
}
@Override
public GenshinItem getItemById(int id) {
public GameItem getItemById(int id) {
return this.items.get(id);
}
@Override
public void onAddItem(GenshinItem item) {
public void onAddItem(GameItem item) {
this.items.put(item.getItemId(), item);
}
@Override
public void onRemoveItem(GenshinItem item) {
public void onRemoveItem(GameItem item) {
this.items.remove(item.getItemId());
}