package server.model.players.content.achievement;
import server.model.players.Client;
import server.model.players.plugin.impl.ColoredMessage.Colours;
/**
* @author FUZENSETH
*/
public class Achievement {
private Client player;
private static final int GRAPHICS = 199;
public Achievement(Client player) {
this.player = player;
}
/**
* [MENTION=75098]Para[/MENTION]m player - to player
* [MENTION=75098]Para[/MENTION]m title - title of the achievement
* [MENTION=75098]Para[/MENTION]m achievementIndex - achievement id
* [MENTION=75098]Para[/MENTION]m points - how many points player gets
* [MENTION=75098]Para[/MENTION]m rewardItems items from the achievement
*/
public void append(String title, int achievementIndex, int points,
int slotsNeeded, final int... rewardItems) {
if (player.achievement[achievementIndex] == 0) {
player.achievementPoints += points;
complete(title, achievementIndex);
player.gfx100(GRAPHICS);
if (!(rewardItems[0] == 0) || !(rewardItems[0] == -1)) {
addItemReward(slotsNeeded, rewardItems);
return;
}
}
}
/**
* If the player has finished the achievement and has the given stage.
* [MENTION=75098]Para[/MENTION]m index
* [MENTION=75098]Para[/MENTION]m stage
* [MENTION=184045]return[/MENTION]
*/
public boolean hasFinished(int index, int stage) {
return player.achievement[index] == stage;
}
/**
* Creates the tab
*/
public void doTab() {
}
/**
* Completes a achievement.
* [MENTION=75098]Para[/MENTION]m achievement
* [MENTION=75098]Para[/MENTION]m index index (id)
*/
public void complete(String achievement, int index) {
player.achievement[index] = 1;
player.sendMessage("Congratulations, you have completed "+achievement+" achievement.", Colours.ORANGE);
}
/**
* Adds a item reward.
* [MENTION=75098]Para[/MENTION]m slotsNeeded
* [MENTION=75098]Para[/MENTION]m items...
*/
public void addItemReward(int slotsNeeded, final int... items) {
for (int totalItems = 0; totalItems < items.length; totalItems++) {
if (!(player.getItems().freeSlots() > slotsNeeded - 1))
player.getItems().addItemToBank(items[totalItems], 1);
else
player.getItems().addItem(items[totalItems], 1);
}
if (!(player.getItems().freeSlots() > slotsNeeded - 1))
player.sendMessage("Your achievement reward(s) was added to your bank account.", Colours.RED);
else
player.sendMessage("Your achievement reward(s) has been added to your inventory.", Colours.RED);
}
}
private Achievement achievements = new Achievement(this);
public Achievement getAchievements() {
return achievements;
}
package server.model.players.content.achievement;
/**
* @author FUZENSETH
*/
public class AchievementConfiguration {
//Achievements enabled? true:false
public static final boolean ENABLED = true;
//The total achievements that are in use.
public static final int TOTAL_ACHIEVEMENTS = 50;
}
public int achievement[] = new int[AchievementConfiguration.TOTAL_ACHIEVEMENTS];
c.getAchievements().append(c, "Lumberjack", 0, 4, 3, 11694,11283,1175
;
package server.model.players.content.achievement;
import server.model.players.Client;
import server.model.players.plugin.impl.ColoredMessage.Colours;
/**
* @author FUZENSETH
*/
public class Achievement {
private Client player;
private static final int GRAPHICS = 199;
public Achievement(Client player) {
this.player = player;
}
/**
* [MENTION=75098]Para[/MENTION]m player - to player
* [MENTION=75098]Para[/MENTION]m title - title of the achievement
* [MENTION=75098]Para[/MENTION]m achievementIndex - achievement id
* [MENTION=75098]Para[/MENTION]m points - how many points player gets
* [MENTION=75098]Para[/MENTION]m rewardItems items from the achievement
*/
public void append(String title, int achievementIndex, int points,
int slotsNeeded, final int... rewardItems) {
if (player.achievement[achievementIndex] == 0) {
player.achievementPoints += points;
complete(title, achievementIndex);
player.gfx100(GRAPHICS);
if (!(rewardItems[0] == 0) || !(rewardItems[0] == -1)) {
addItemReward(slotsNeeded, rewardItems);
return;
}
}
}
/**
* If the player has finished the achievement and has the given stage.
* [MENTION=75098]Para[/MENTION]m index
* [MENTION=75098]Para[/MENTION]m stage
* [MENTION=184045]return[/MENTION]
*/
public boolean hasFinished(int index, int stage) {
return player.achievement[index] == stage;
}
/**
* Creates the tab
*/
public void doTab() {
}
/**
* Completes a achievement.
* [MENTION=75098]Para[/MENTION]m achievement
* [MENTION=75098]Para[/MENTION]m index index (id)
*/
public void complete(String achievement, int index) {
player.achievement[index] = 1;
player.sendMessage("Congratulations, you have completed "+achievement+" achievement.", Colours.ORANGE);
}
/**
* Adds a item reward.
* [MENTION=75098]Para[/MENTION]m slotsNeeded
* [MENTION=75098]Para[/MENTION]m items...
*/
public void addItemReward(int slotsNeeded, final int... items) {
for (int totalItems = 0; totalItems < items.length; totalItems++) {
if (!(player.getItems().freeSlots() > slotsNeeded - 1))
player.getItems().addItemToBank(items[totalItems], 1);
else
player.getItems().addItem(items[totalItems], 1);
}
if (!(player.getItems().freeSlots() > slotsNeeded - 1))
player.sendMessage("Your achievement reward(s) was added to your bank account.", Colours.RED);
else
player.sendMessage("Your achievement reward(s) has been added to your inventory.", Colours.RED);
}
}
private Achievement achievements = new Achievement(this);
public Achievement getAchievements() {
return achievements;
}
package server.model.players.content.achievement;
/**
* @author FUZENSETH
*/
public class AchievementConfiguration {
//Achievements enabled? true:false
public static final boolean ENABLED = true;
//The total achievements that are in use.
public static final int TOTAL_ACHIEVEMENTS = 50;
}
public int achievement[] = new int[AchievementConfiguration.TOTAL_ACHIEVEMENTS];
c.getAchievements().append(c, "Lumberjack", 0, 4, 3, 11694,11283,1175
;
Copyright © 2026, NextGenUpdate.
All Rights Reserved.