Finalized page system. Moved grabbing pages to Page.java.

This commit is contained in:
nossr50
2012-03-03 10:24:47 -08:00
parent 12fbaa4361
commit d1c4efa30d
3 changed files with 54 additions and 54 deletions

View File

@ -47,49 +47,8 @@ public class ExcavationCommand implements CommandExecutor {
player.sendMessage(mcLocale.getString("m.SkillHeader", new Object[] { mcLocale.getString("m.YourStats") }));
player.sendMessage(mcLocale.getString("m.ExcavationGigaDrillBreakerLength", new Object[] { ticks }));
if (args.length >= 1)
{
if(args[0].equals("?"))
{
Page.clearChat(player);
if(args.length > 1 && m.isInt(args[1]))
{
for(String target : Page.grabPageContents("Excavation Guide", "Guides.Excavation", m.getInt(args[1])))
{
player.sendMessage(target);
}
/*
player.sendMessage("");
player.sendMessage("==XP Gain==");
player.sendMessage("Base XP: " + LoadProperties.mbase);
player.sendMessage(ChatColor.GRAY + "Awarded for digging Dirt, Grass, Sand, Gravel, ");
player.sendMessage(ChatColor.GRAY + "Soul Sand, Mycelium, and Clay.");
player.sendMessage("Treasures: Varies by item");
player.sendMessage(ChatColor.GRAY + "Awarded for finding items while digging.");
player.sendMessage("");
player.sendMessage("==Abilities==");
player.sendMessage("Giga Drill Breaker");
player.sendMessage(ChatColor.GRAY + "Right-click with a shovel in hand to prep this ability.");
player.sendMessage(ChatColor.GRAY + "Allows for instabreaking of associated blocks.");
player.sendMessage("");
player.sendMessage("==Subskills==");
player.sendMessage("Treasure Hunter");
player.sendMessage(ChatColor.GRAY + "Randomly find valuable items while digging.");
player.sendMessage(ChatColor.GRAY + "Items found vary depending on skill level.");
player.sendMessage("");
player.sendMessage("==PAGE 1 of 1==");
*/
} else if(args.length > 1 && !m.isInt(args[1]))
{
player.sendMessage("Not a valid page number!");
}
}
else
{
player.sendMessage(ChatColor.RED + "Usage is /excavation ? [page]");
}
}
Page.grabGuidePageForSkill(SkillType.EXCAVATION, player, args);
return true;
}
}

View File

@ -5,9 +5,21 @@ import java.util.ArrayList;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import com.gmail.nossr50.m;
import com.gmail.nossr50.datatypes.SkillType;
import com.gmail.nossr50.locale.mcLocale;
public class Page {
public static int getTotalPageNumber(String address)
{
String[] addressSplit = mcLocale.getString(address).split("\n");
if(addressSplit.length < 8)
return 1;
else
return (addressSplit.length/8)+1;
}
public static ArrayList<String> grabPageContents(String header, String address, int pagenum)
{
int pageIndexStart = 0;
@ -24,19 +36,16 @@ public class Page {
allStrings.add(ChatColor.GOLD+"-="+ChatColor.GREEN+header+ChatColor.GOLD+"=-"); //So stylish
//Add targeted strings
while(allStrings.size() < 9)
{
allStrings.add(addressSplit[pageIndexStart+allStrings.size()-1]);
if(pageIndexStart+allStrings.size() > addressSplit.length)
allStrings.add("");
else
allStrings.add(addressSplit[pageIndexStart+allStrings.size()-1]);
}
int totalPages = 1;
if(addressSplit.length >= 8)
{
totalPages = (addressSplit.length/8)+1;
}
allStrings.add("Page "+pagenum+" of "+totalPages);
allStrings.add("Page "+pagenum+" of "+getTotalPageNumber(address));
return allStrings;
}
@ -50,4 +59,36 @@ public class Page {
x++;
}
}
}
public static void grabGuidePageForSkill(SkillType skilltype, Player player, String[] args)
{
if (args.length >= 1)
{
if(args[0].equals("?"))
{
String capitalized = m.getCapitalized(skilltype.toString());
String address = "Guides."+capitalized;
Page.clearChat(player);
if(args.length > 1 && m.isInt(args[1]) && m.getInt(args[1]) <= Page.getTotalPageNumber(address))
{
for(String target : Page.grabPageContents(capitalized+" Guide", address, m.getInt(args[1])))
{
player.sendMessage(target);
}
} else if(args.length > 1 && m.getInt(args[1]) > Page.getTotalPageNumber(address))
{
player.sendMessage("That page doesn't exist, there are only "+Page.getTotalPageNumber(address)+" total pages");
}
else if(args.length > 1 && !m.isInt(args[1]))
{
player.sendMessage("Not a valid page number!");
}
}
else
{
player.sendMessage(ChatColor.RED + "Usage is /"+skilltype.toString().toLowerCase()+" ? [page]");
}
}
}
}