use of com.wynntils.core.framework.instances.data.CharacterData in project Wynntils by Wynntils.
the class ServerEvents method joinWorldEvent.
/**
* Called when the user joins a Wynncraft World, used to register some stuff:
* - Make the player use the command /friend list in order to gatter the user friend list
* - Check if the last user class was registered if not, make the player execute /class to register it
* - Updates the last class
* - Updates and check the Download Queue
*
* @param e Represents the event
*/
@SubscribeEvent(priority = EventPriority.LOWEST)
public void joinWorldEvent(WynnWorldEvent.Join e) {
if (PlayerInfo.get(CharacterData.class).getClassId() == -1 || CoreDBConfig.INSTANCE.lastClass == ClassType.NONE)
McIf.player().sendChatMessage("/class");
// This codeblock will only be executed if the Wynncraft AUTOJOIN setting is enabled
// Reason: When you join a world with autojoin enabled, your current class is NONE,
// while joining without autojoin will make your current class into the selected over the character selection.
CharacterData data = PlayerInfo.get(CharacterData.class);
if (data.getCurrentClass() == ClassType.NONE && CoreDBConfig.INSTANCE.lastClass != ClassType.NONE) {
data.updatePlayerClass(CoreDBConfig.INSTANCE.lastClass, CoreDBConfig.INSTANCE.lastClassIsReskinned);
}
// avoid dispatching commands while in wars/nether
if (Reference.onWars)
return;
// guild members
if (WebManager.getPlayerProfile() != null && WebManager.getPlayerProfile().getGuildName() != null) {
waitingForGuildList = true;
McIf.player().sendChatMessage("/guild list");
}
// friends
waitingForFriendList = true;
McIf.player().sendChatMessage("/friends list");
// party members
// party list here
PartyManager.handlePartyList();
startUpdateRegionName();
}
use of com.wynntils.core.framework.instances.data.CharacterData in project Wynntils by Wynntils.
the class OverlayEvents method onClientTick.
@SubscribeEvent(priority = EventPriority.LOWEST)
public void onClientTick(TickEvent.ClientTickEvent e) {
if (Reference.onWorld && e.phase == TickEvent.Phase.END) {
/* XP Gain Messages */
CharacterData data = PlayerInfo.get(CharacterData.class);
if (OverlayConfig.GameUpdate.GameUpdateEXPMessages.INSTANCE.enabled) {
if (tickcounter % (int) (OverlayConfig.GameUpdate.GameUpdateEXPMessages.INSTANCE.expUpdateRate * 20f) == 0) {
if (oldxp != data.getCurrentXP()) {
if (!data.getCurrentXPAsPercentage().equals("")) {
if (oldxp < data.getCurrentXP()) {
DecimalFormat df = new DecimalFormat("0.0");
float xpchange = Float.parseFloat(data.getCurrentXPAsPercentage()) - Float.parseFloat(oldxppercent);
GameUpdateOverlay.queueMessage(OverlayConfig.GameUpdate.GameUpdateEXPMessages.INSTANCE.expMessageFormat.replace("%xo%", Integer.toString(oldxp)).replace("%xn%", Integer.toString(data.getCurrentXP())).replace("%xc%", Integer.toString(data.getCurrentXP() - oldxp)).replace("%po%", oldxppercent).replace("%pn%", data.getCurrentXPAsPercentage()).replace("%pc%", df.format(xpchange)));
}
oldxp = data.getCurrentXP();
oldxppercent = data.getCurrentXPAsPercentage();
}
}
}
}
/*Inventory full message*/
if (OverlayConfig.GameUpdate.GameUpdateInventoryMessages.INSTANCE.enabled) {
if (tickcounter % (int) (OverlayConfig.GameUpdate.GameUpdateInventoryMessages.INSTANCE.inventoryUpdateRate * 20f) == 0) {
IInventory inv = McIf.player().inventory;
int itemCounter = 0;
for (int i = 0; i < inv.getSizeInventory(); i++) {
if (!inv.getStackInSlot(i).isEmpty()) {
itemCounter++;
}
}
if (itemCounter == inv.getSizeInventory() - 1) {
GameUpdateOverlay.queueMessage(OverlayConfig.GameUpdate.GameUpdateInventoryMessages.INSTANCE.inventoryMessageFormat);
}
}
}
tickcounter++;
}
}
use of com.wynntils.core.framework.instances.data.CharacterData in project Wynntils by Wynntils.
the class LevelingOverlay method render.
@Override
public void render(RenderGameOverlayEvent.Pre event) {
CharacterData data = get(CharacterData.class);
if (((event.getType() == RenderGameOverlayEvent.ElementType.EXPERIENCE) || (event.getType() == RenderGameOverlayEvent.ElementType.JUMPBAR)) && Reference.onWorld && data.isLoaded()) {
String text = OverlayConfig.Leveling.INSTANCE.levelingText.replace("%actual%", "" + data.getCurrentXP()).replace("%max%", "" + data.getXpNeededToLevelUp()).replace("%percent%", data.getCurrentXPAsPercentage()).replace("%needed%", "" + (data.getXpNeededToLevelUp() - data.getCurrentXP())).replace("%actualg%", GROUPED_FORMAT.format(data.getCurrentXP())).replace("%maxg%", GROUPED_FORMAT.format(data.getXpNeededToLevelUp())).replace("%neededg%", GROUPED_FORMAT.format(data.getXpNeededToLevelUp() - data.getCurrentXP())).replace("%curlvl%", "" + data.getLevel()).replace("%nextlvl%", data.getLevel() == 104 ? "" : "" + (data.getLevel() + 1));
drawString(text, 0, 0, CommonColors.LIGHT_BLUE, SmartFontRenderer.TextAlignment.MIDDLE, OverlayConfig.Leveling.INSTANCE.textShadow);
staticSize.x = (int) getStringWidth(text);
}
}
Aggregations