Body animated

This commit is contained in:
nearfe 2024-06-14 22:48:12 -03:00
parent 98181f71e0
commit 6862c71e2e
5 changed files with 30 additions and 15 deletions

View File

@ -766,7 +766,12 @@ public class PlayerListener implements Listener {
switch (playerData.getPlayerState()) { switch (playerData.getPlayerState()) {
case FIGHTING: case FIGHTING:
if (plugin.getMatchManager().getMatch(playerData) != null) { if (plugin.getMatchManager().getMatch(playerData) != null) {
switch (playerData.getOptions().getBodyAnimated()) {
case ANIMATED:
PlayerUtil.animateDeath(player, !plugin.getMatchManager().getMatch(playerData).isPartyMatch()); PlayerUtil.animateDeath(player, !plugin.getMatchManager().getMatch(playerData).isPartyMatch());
case STATIC:
PlayerUtil.staticDeath(player, !plugin.getMatchManager().getMatch(playerData).isPartyMatch());
}
} }
this.plugin.getMatchManager().removeFighter(player, playerData, true); this.plugin.getMatchManager().removeFighter(player, playerData, true);
break; break;

View File

@ -9,6 +9,7 @@ import land.battle.practice.menu.DeathEffectMenu;
import land.battle.practice.menu.KillMessageMenu; import land.battle.practice.menu.KillMessageMenu;
import land.battle.practice.menu.MatchmakingSettingsMenu; import land.battle.practice.menu.MatchmakingSettingsMenu;
import land.battle.practice.player.PlayerData; import land.battle.practice.player.PlayerData;
import land.battle.practice.settings.item.BodyOptionsItemState;
import land.battle.practice.settings.item.ProfileOptionsItemState; import land.battle.practice.settings.item.ProfileOptionsItemState;
import land.battle.practice.settings.item.SidebarOptionsItemState; import land.battle.practice.settings.item.SidebarOptionsItemState;
import land.battle.practice.util.CC; import land.battle.practice.util.CC;
@ -163,25 +164,24 @@ public class PracticeSettingsImpl implements ISettings {
}) })
); );
buttonList.add(new ItemBuilder(Material.ENCHANTED_BOOK) buttonList.add(new ItemBuilder(Material.SKULL_ITEM)
.setDisplayName(Color.MAIN_COLOR + CC.BOLD + "Matchmaking Settings") .setDisplayName(Color.MAIN_COLOR + CC.BOLD + "Body animation")
.addLore( .addLore(
CC.GRAY + "Configure matchmaking settings.",
"", "",
CC.YELLOW + "[View matchmaking settings]" CC.GRAY + "Would you like a different body",
CC.GRAY + "animation on your gameplay?",
" ",
(data.getOptions().getBodyAnimated() == BodyOptionsItemState.ANIMATED ? CC.GREEN + CC.BOLD + "" : CC.DARK_GRAY + CC.BOLD + "") + "&fOld",
(data.getOptions().getBodyAnimated() == BodyOptionsItemState.STATIC ? CC.GREEN + CC.BOLD + "" : CC.DARK_GRAY + CC.BOLD + "") + "&fModern"
) )
.toButton((player1, clickType) -> { .toUpdatingButton((player1, clickType) -> {
if (!player1.hasPermission("practice.matchmaking.settings")) { if (data.getOptions().getBodyAnimated() == BodyOptionsItemState.ANIMATED) {
player1.sendMessage(CC.RED + "You don't have permission to open Matchmaking Settings! Get more information at our store: store.minion.lol."); data.getOptions().setBodyAnimated(BodyOptionsItemState.STATIC);
player1.closeInventory(); } else {
return; data.getOptions().setBodyAnimated(BodyOptionsItemState.ANIMATED);
} }
new MatchmakingSettingsMenu().openMenu(player1);
}) })
); );
return buttonList; return buttonList;
} }

View File

@ -1,5 +1,6 @@
package land.battle.practice.settings; package land.battle.practice.settings;
import land.battle.practice.settings.item.BodyOptionsItemState;
import land.battle.practice.settings.item.ProfileOptionsItemState; import land.battle.practice.settings.item.ProfileOptionsItemState;
import land.battle.practice.settings.item.SidebarOptionsItemState; import land.battle.practice.settings.item.SidebarOptionsItemState;
import lombok.Getter; import lombok.Getter;
@ -20,6 +21,7 @@ public class ProfileOptions {
private ProfileOptionsItemState scoreboardState = ProfileOptionsItemState.PING; private ProfileOptionsItemState scoreboardState = ProfileOptionsItemState.PING;
private SidebarOptionsItemState scoreboardStyle = SidebarOptionsItemState.OLD; private SidebarOptionsItemState scoreboardStyle = SidebarOptionsItemState.OLD;
private BodyOptionsItemState bodyAnimated = BodyOptionsItemState.ANIMATED;
} }

View File

@ -0,0 +1,8 @@
package land.battle.practice.settings.item;
public enum BodyOptionsItemState {
ANIMATED,
STATIC,
}

View File

@ -250,7 +250,7 @@ public final class PlayerUtil {
} }
@SneakyThrows @SneakyThrows
public static void staticDeath(Player player) { public static void staticDeath(Player player, boolean showPlayer) {
int entityId = EntityUtils.getFakeEntityId(); int entityId = EntityUtils.getFakeEntityId();
PacketPlayOutNamedEntitySpawn spawnPacket = new PacketPlayOutNamedEntitySpawn(((CraftPlayer) player).getHandle()); PacketPlayOutNamedEntitySpawn spawnPacket = new PacketPlayOutNamedEntitySpawn(((CraftPlayer) player).getHandle());
PacketPlayOutEntityStatus statusPacket = new PacketPlayOutEntityStatus(); PacketPlayOutEntityStatus statusPacket = new PacketPlayOutEntityStatus();