Skip to content

Commit 1c862c5

Browse files
committed
feat: TeamKey usage
1 parent bcbc300 commit 1c862c5

29 files changed

Lines changed: 341 additions & 356 deletions

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/events/ActionGameDeath.java

Lines changed: 251 additions & 262 deletions
Large diffs are not rendered by default.

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/events/ActionGameMove.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,13 @@
77
import net.minestom.server.entity.damage.DamageType;
88
import net.minestom.server.event.player.PlayerMoveEvent;
99
import net.minestom.server.tag.Tag;
10+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
11+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig.MapTeam;
12+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig.TeamKey;
1013
import net.swofty.type.bedwarsgame.TypeBedWarsGameLoader;
1114
import net.swofty.type.bedwarsgame.game.Game;
1215
import net.swofty.type.bedwarsgame.game.GameStatus;
1316
import net.swofty.type.bedwarsgame.user.BedWarsPlayer;
14-
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
15-
import net.swofty.commons.bedwars.map.BedWarsMapsConfig.MapTeam;
16-
import net.swofty.commons.bedwars.map.BedWarsMapsConfig.TeamKey;
1717
import net.swofty.type.generic.event.EventNodes;
1818
import net.swofty.type.generic.event.HypixelEvent;
1919
import net.swofty.type.generic.event.HypixelEventClass;
@@ -79,7 +79,7 @@ public void run(PlayerMoveEvent event) {
7979

8080
var trap = TypeBedWarsGameLoader.getTrapManager().getTrap(teamTraps.getFirst());
8181
if (trap != null) {
82-
trap.trigger(game, teamKey.getName(), player);
82+
trap.trigger(game, teamKey, player);
8383
}
8484
}
8585
}

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/game/GeneratorManager.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -278,12 +278,9 @@ public void stopAllGenerators() {
278278
}
279279
}
280280

281-
public void addTeamGeneratorTask(String teamName, Task task) {
282-
TeamKey teamKey = game.getTeamManager().getTeamKeyByName(teamName);
283-
if (teamKey != null) {
281+
public void addTeamGeneratorTask(TeamKey teamKey, Task task) {
284282
teamGeneratorTasks.computeIfAbsent(teamKey, k -> new ArrayList<>()).add(task);
285283
}
286-
}
287284

288285
@Override
289286
public void onEventChange(GameEventPosition previous, GameEventPosition current) {

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/gui/GUITeamShop.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import net.minestom.server.item.ItemStack;
1212
import net.minestom.server.item.Material;
1313
import net.minestom.server.tag.Tag;
14+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
1415
import net.swofty.type.bedwarsgame.TypeBedWarsGameLoader;
1516
import net.swofty.type.bedwarsgame.game.Game;
1617
import net.swofty.type.bedwarsgame.shop.*;
@@ -86,10 +87,9 @@ public void run(InventoryPreClickEvent event, HypixelPlayer p) {
8687
if (index >= upgrades.size()) return;
8788
BedWarsPlayer player = (BedWarsPlayer) p;
8889
Game playerGame = TypeBedWarsGameLoader.getPlayerGame(player);
89-
String tag = player.getTag(Tag.String("team"));
90-
if (playerGame == null || tag == null) return;
90+
if (playerGame == null) return;
9191
TeamUpgrade upgrade = upgrades.get(index);
92-
TeamUpgradeTier nextTier = upgrade.getNextTier(playerGame, tag);
92+
TeamUpgradeTier nextTier = upgrade.getNextTier(playerGame, player.getTeamKey());
9393
if (nextTier == null) {
9494
player.sendMessage("§cYour team has already bought this upgrade!");
9595
playClickSound(player);
@@ -106,10 +106,11 @@ public void run(InventoryPreClickEvent event, HypixelPlayer p) {
106106
}
107107

108108
@Override
109-
public ItemStack.Builder getItem(HypixelPlayer player) {
109+
public ItemStack.Builder getItem(HypixelPlayer p) {
110110
if (index >= upgrades.size()) return ItemStack.builder(Material.AIR);
111+
BedWarsPlayer player = (BedWarsPlayer) p;
111112
Game playerGame = TypeBedWarsGameLoader.getPlayerGame(player);
112-
String tag = player.getTag(Tag.String("team"));
113+
BedWarsMapsConfig.TeamKey tag = player.getTeamKey();
113114
if (playerGame == null || tag == null) return ItemStack.builder(Material.BARRIER)
114115
.customName(noItalic(Component.text("No Game").color(NamedTextColor.RED)));
115116

@@ -158,9 +159,9 @@ public ItemStack.Builder getItem(HypixelPlayer player) {
158159
public void run(InventoryPreClickEvent event, HypixelPlayer p) {
159160
if (index >= traps.size()) return;
160161
BedWarsPlayer player = (BedWarsPlayer) p;
162+
BedWarsMapsConfig.TeamKey tag = player.getTeamKey();
161163

162164
Game playerGame = TypeBedWarsGameLoader.getPlayerGame(player);
163-
String tag = player.getTag(Tag.String("team"));
164165
if (playerGame == null || tag == null) return;
165166
Trap trap = traps.get(index);
166167
int price = trap.getPrice(playerGame, tag);
@@ -183,7 +184,8 @@ public void run(InventoryPreClickEvent event, HypixelPlayer p) {
183184
public ItemStack.Builder getItem(HypixelPlayer player) {
184185
if (index >= traps.size()) return ItemStack.builder(Material.AIR);
185186
Game playerGame = TypeBedWarsGameLoader.getPlayerGame(player);
186-
String t = player.getTag(Tag.String("team"));
187+
BedWarsPlayer bwPlayer = (BedWarsPlayer) player;
188+
BedWarsMapsConfig.TeamKey t = bwPlayer.getTeamKey();
187189
if (playerGame == null || t == null) return ItemStack.builder(Material.BARRIER)
188190
.customName(noItalic(Component.text("No Game").color(NamedTextColor.RED)));
189191
Trap trap = traps.get(index);
@@ -222,7 +224,8 @@ public void run(InventoryPreClickEvent event, HypixelPlayer player) {
222224
@Override
223225
public ItemStack.Builder getItem(HypixelPlayer player) {
224226
Game g = TypeBedWarsGameLoader.getPlayerGame(player);
225-
String t = player.getTag(Tag.String("team"));
227+
BedWarsPlayer bwPlayer = (BedWarsPlayer) player;
228+
BedWarsMapsConfig.TeamKey t = bwPlayer.getTeamKey();
226229
if (g == null || t == null) return ItemStack.builder(Material.BARRIER)
227230
.customName(noItalic(Component.text("No Game").color(NamedTextColor.RED)));
228231
List<String> queued = g.getTeamManager().getTeamTraps(t);
@@ -258,9 +261,9 @@ public boolean canPickup() {
258261
updateItemStacks(getInventory(), getPlayer());
259262
}
260263

261-
private void broadcastTeamPurchase(Game game, String teamName, BedWarsPlayer buyer, String name) {
264+
private void broadcastTeamPurchase(Game game, BedWarsMapsConfig.TeamKey teamName, BedWarsPlayer buyer, String name) {
262265
for (BedWarsPlayer pl : game.getPlayers()) {
263-
if (teamName.equals(pl.getTag(Tag.String("team")))) {
266+
if (teamName.equals(pl.getTeamKey())) {
264267
pl.sendMessage(buyer.getTeamKey().chatColor() + " §apurchased §6" + name + "!");
265268
}
266269
}

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/shop/ShopItem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public ShopItem(String name, String description, Function<BedwarsGameType, Integ
4343
*
4444
* @param player the player who purchaseed the item
4545
*/
46-
public abstract void onPurchase(Player player);
46+
public abstract void onPurchase(BedWarsPlayer player);
4747

4848
public boolean isOwned(Player player) {
4949
return true;

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/shop/TeamUpgrade.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
import net.minestom.server.item.ItemStack;
77
import net.minestom.server.item.component.TooltipDisplay;
88
import net.minestom.server.tag.Tag;
9+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
910
import net.swofty.type.bedwarsgame.game.Game;
1011
import net.swofty.type.bedwarsgame.user.BedWarsPlayer;
1112
import net.swofty.type.bedwarsgame.util.BedWarsInventoryManipulator;
12-
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
1313

1414
import java.util.Arrays;
1515
import java.util.List;
@@ -32,11 +32,11 @@ public TeamUpgrade(String key, String name, String description, ItemStack displa
3232
this.tiers = tiers;
3333
}
3434

35-
public int getCurrentLevel(Game game, String teamName) {
35+
public int getCurrentLevel(Game game, BedWarsMapsConfig.TeamKey teamName) {
3636
return game.getTeamManager().getTeamUpgradeLevel(teamName, key);
3737
}
3838

39-
public TeamUpgradeTier getNextTier(Game game, String teamName) {
39+
public TeamUpgradeTier getNextTier(Game game, BedWarsMapsConfig.TeamKey teamName) {
4040
int currentLevel = getCurrentLevel(game, teamName);
4141
if (currentLevel >= tiers.size()) {
4242
return null;
@@ -52,7 +52,7 @@ public boolean hasEnoughCurrency(Player player, TeamUpgradeTier tier) {
5252
}
5353

5454
public void purchase(Game game, BedWarsPlayer player) {
55-
String teamName = player.getTeamName();
55+
BedWarsMapsConfig.TeamKey teamName = player.getTeamKey();
5656
if (teamName == null) {
5757
player.sendMessage("§cYou are not on a team. Report this to the administration.");
5858
return;
@@ -75,7 +75,7 @@ public void purchase(Game game, BedWarsPlayer player) {
7575
applyEffect(game, teamName, nextTier.getLevel());
7676

7777
game.getPlayers().stream()
78-
.filter(p -> teamName.equals(p.getTeamName()))
78+
.filter(p -> teamName.equals(p.getTeamKey()))
7979
.forEach(p -> {
8080
BedWarsMapsConfig.TeamKey teamKey = player.getTeamKey();
8181
p.sendMessage(teamKey.chatColor() + " §apurchased §6" + name + " " + nextTier.getLevel() + "!");
@@ -91,7 +91,7 @@ public void purchase(Game game, BedWarsPlayer player) {
9191
* @param teamName The name of the team.
9292
* @param level The new level of the upgrade.
9393
*/
94-
public abstract void applyEffect(Game game, String teamName, int level);
94+
public abstract void applyEffect(Game game, BedWarsMapsConfig.TeamKey teamName, int level);
9595

9696
public ItemStack getDisplayItem() {
9797
return displayItem.with(DataComponents.TOOLTIP_DISPLAY, new TooltipDisplay(false, Set.of()));

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/shop/Trap.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import net.minestom.server.component.DataComponents;
1111
import net.minestom.server.item.ItemStack;
1212
import net.minestom.server.item.component.TooltipDisplay;
13+
import net.swofty.commons.bedwars.map.BedWarsMapsConfig;
1314
import net.swofty.type.bedwarsgame.game.Game;
1415
import net.swofty.type.bedwarsgame.user.BedWarsPlayer;
1516

@@ -38,7 +39,7 @@ public Trap(String key, String name, ItemStack displayItem, String description,
3839
* @param teamName the name of the team that owns the trap
3940
* @param triggerer the player who triggered the trap
4041
*/
41-
public void trigger(Game game, String teamName, BedWarsPlayer triggerer) {
42+
public void trigger(Game game, BedWarsMapsConfig.TeamKey teamName, BedWarsPlayer triggerer) {
4243
game.getTeamManager().removeTeamTrap(teamName, getKey());
4344

4445
game.getTeamManager().getPlayersOnTeam(teamName).forEach(player -> {
@@ -57,7 +58,7 @@ public void trigger(Game game, String teamName, BedWarsPlayer triggerer) {
5758
* @param teamName the name of the team that owns the trap
5859
* @param triggerer the player who triggered the trap
5960
*/
60-
public abstract void onTrigger(Game game, String teamName, BedWarsPlayer triggerer);
61+
public abstract void onTrigger(Game game, BedWarsMapsConfig.TeamKey teamName, BedWarsPlayer triggerer);
6162

6263
/**
6364
* Gets the price of the trap for the specified team.
@@ -66,7 +67,7 @@ public void trigger(Game game, String teamName, BedWarsPlayer triggerer) {
6667
* @param teamName the name of the team that owns the trap
6768
* @return the price of the trap
6869
*/
69-
public int getPrice(Game game, String teamName) {
70+
public int getPrice(Game game, BedWarsMapsConfig.TeamKey teamName) {
7071
return game.getTeamManager().getTeamTraps(teamName).size() + 1;
7172
}
7273

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/shop/UpgradeableShopItem.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public Function<BedwarsGameType, Integer> getPrice() {
4646
}
4747

4848
@Override
49-
public void onPurchase(Player player) {
49+
public void onPurchase(BedWarsPlayer player) {
5050
int levelToGive = getNextLevel(player);
5151
UpgradeableItemTier tier = getTier(levelToGive);
5252

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/shop/impl/ArmorShopItem.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import net.swofty.type.bedwarsgame.TypeBedWarsGameLoader;
99
import net.swofty.type.bedwarsgame.shop.Currency;
1010
import net.swofty.type.bedwarsgame.shop.ShopItem;
11+
import net.swofty.type.bedwarsgame.user.BedWarsPlayer;
1112

1213
public class ArmorShopItem extends ShopItem {
1314

@@ -23,16 +24,15 @@ public ArmorShopItem(String name, String description, int price, Currency curren
2324
}
2425

2526
@Override
26-
public void onPurchase(Player player) {
27+
public void onPurchase(BedWarsPlayer player) {
2728
player.setEquipment(EquipmentSlot.BOOTS, ItemStack.of(boots));
2829
player.setEquipment(EquipmentSlot.LEGGINGS, ItemStack.of(leggings));
2930
player.setTag(TypeBedWarsGameLoader.ARMOR_LEVEL_TAG, armorLevel);
3031

3132
if (player.hasTag(Tag.Integer("upgrade_reinforced_armor"))) {
32-
String team = player.getTag(Tag.String("team"));
3333
String gameId = player.getTag(Tag.String("gameId"));
3434

35-
TypeBedWarsGameLoader.getTeamShopManager().getUpgrade("reinforced_armor").applyEffect(TypeBedWarsGameLoader.getGameById(gameId), team, player.getTag(Tag.Integer("upgrade_reinforced_armor")));
35+
TypeBedWarsGameLoader.getTeamShopManager().getUpgrade("reinforced_armor").applyEffect(TypeBedWarsGameLoader.getGameById(gameId), player.getTeamKey(), player.getTag(Tag.Integer("upgrade_reinforced_armor")));
3636
}
3737
}
3838

type.bedwarsgame/src/main/java/net/swofty/type/bedwarsgame/shop/impl/BasicItem.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package net.swofty.type.bedwarsgame.shop.impl;
22

3-
import net.minestom.server.entity.Player;
43
import net.minestom.server.item.Material;
54
import net.swofty.type.bedwarsgame.shop.Currency;
65
import net.swofty.type.bedwarsgame.shop.ShopItem;
6+
import net.swofty.type.bedwarsgame.user.BedWarsPlayer;
77

88
public class BasicItem extends ShopItem {
99

@@ -12,7 +12,7 @@ public BasicItem(String name, String description, int cost, int amount, Currency
1212
}
1313

1414
@Override
15-
public void onPurchase(Player player) {
15+
public void onPurchase(BedWarsPlayer player) {
1616
player.getInventory().addItemStack(this.getDisplay().withAmount(this.getAmount()));
1717
}
1818

0 commit comments

Comments
 (0)