mirror of
https://github.com/TotalFreedomMC/TF-EssentialsX.git
synced 2025-02-12 12:23:59 +00:00
New Sign: Info
Syntax: [info] / [chapter] / [page number] / [cost]
This commit is contained in:
parent
ee608d944a
commit
2f562f79aa
4 changed files with 62 additions and 6 deletions
54
Essentials/src/com/earth2me/essentials/signs/SignInfo.java
Normal file
54
Essentials/src/com/earth2me/essentials/signs/SignInfo.java
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
package com.earth2me.essentials.signs;
|
||||||
|
|
||||||
|
import com.earth2me.essentials.ChargeException;
|
||||||
|
import com.earth2me.essentials.IEssentials;
|
||||||
|
import com.earth2me.essentials.Trade;
|
||||||
|
import com.earth2me.essentials.User;
|
||||||
|
import com.earth2me.essentials.textreader.IText;
|
||||||
|
import com.earth2me.essentials.textreader.KeywordReplacer;
|
||||||
|
import com.earth2me.essentials.textreader.TextInput;
|
||||||
|
import com.earth2me.essentials.textreader.TextPager;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
|
||||||
|
public class SignInfo extends EssentialsSign
|
||||||
|
{
|
||||||
|
public SignInfo()
|
||||||
|
{
|
||||||
|
super("Info");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean onSignCreate(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException
|
||||||
|
{
|
||||||
|
validateTrade(sign, 3, ess);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean onSignInteract(final ISign sign, final User player, final String username, final IEssentials ess) throws SignException, ChargeException
|
||||||
|
{
|
||||||
|
final Trade charge = getTrade(sign, 3, ess);
|
||||||
|
charge.isAffordableFor(player);
|
||||||
|
|
||||||
|
String chapter = sign.getLine(1);
|
||||||
|
String page = sign.getLine(2);
|
||||||
|
|
||||||
|
final IText input;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
input = new TextInput(player, "info", true, ess);
|
||||||
|
final IText output = new KeywordReplacer(input, player, ess);
|
||||||
|
final TextPager pager = new TextPager(output);
|
||||||
|
pager.showPage(chapter, page, null, player);
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (IOException ex)
|
||||||
|
{
|
||||||
|
throw new SignException(ex.getMessage(), ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
charge.charge(player);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
|
@ -10,6 +10,7 @@ public enum Signs
|
||||||
FREE(new SignFree()),
|
FREE(new SignFree()),
|
||||||
GAMEMODE(new SignGameMode()),
|
GAMEMODE(new SignGameMode()),
|
||||||
HEAL(new SignHeal()),
|
HEAL(new SignHeal()),
|
||||||
|
INFO(new SignInfo()),
|
||||||
KIT(new SignKit()),
|
KIT(new SignKit()),
|
||||||
MAIL(new SignMail()),
|
MAIL(new SignMail()),
|
||||||
PROTECTION(new SignProtection()),
|
PROTECTION(new SignProtection()),
|
||||||
|
|
|
@ -48,7 +48,7 @@ public class TextPager
|
||||||
|
|
||||||
final int start = onePage ? 0 : (page - 1) * 9;
|
final int start = onePage ? 0 : (page - 1) * 9;
|
||||||
final int pages = lines.size() / 9 + (lines.size() % 9 > 0 ? 1 : 0);
|
final int pages = lines.size() / 9 + (lines.size() % 9 > 0 ? 1 : 0);
|
||||||
if (!onePage)
|
if (!onePage && commandName != null)
|
||||||
{
|
{
|
||||||
StringBuilder content = new StringBuilder();
|
StringBuilder content = new StringBuilder();
|
||||||
final String[] title = commandName.split(" ", 2);
|
final String[] title = commandName.split(" ", 2);
|
||||||
|
@ -72,7 +72,7 @@ public class TextPager
|
||||||
{
|
{
|
||||||
sender.sendMessage(lines.get(i));
|
sender.sendMessage(lines.get(i));
|
||||||
}
|
}
|
||||||
if (!onePage && page < pages)
|
if (!onePage && page < pages && commandName != null)
|
||||||
{
|
{
|
||||||
sender.sendMessage(_("readNextPage", commandName, page + 1));
|
sender.sendMessage(_("readNextPage", commandName, page + 1));
|
||||||
}
|
}
|
||||||
|
@ -130,7 +130,7 @@ public class TextPager
|
||||||
}
|
}
|
||||||
|
|
||||||
int pages = end / 9 + (end % 9 > 0 ? 1 : 0);
|
int pages = end / 9 + (end % 9 > 0 ? 1 : 0);
|
||||||
if (!onePage)
|
if (!onePage && commandName != null)
|
||||||
{
|
{
|
||||||
|
|
||||||
sender.sendMessage(_("infoPages", page, pages, I18n.capitalCase(commandName)));
|
sender.sendMessage(_("infoPages", page, pages, I18n.capitalCase(commandName)));
|
||||||
|
@ -139,7 +139,7 @@ public class TextPager
|
||||||
{
|
{
|
||||||
sender.sendMessage(lines.get(i));
|
sender.sendMessage(lines.get(i));
|
||||||
}
|
}
|
||||||
if (!onePage && page < pages)
|
if (!onePage && page < pages && commandName != null)
|
||||||
{
|
{
|
||||||
sender.sendMessage(_("readNextPage", commandName, page + 1));
|
sender.sendMessage(_("readNextPage", commandName, page + 1));
|
||||||
}
|
}
|
||||||
|
@ -183,7 +183,7 @@ public class TextPager
|
||||||
|
|
||||||
final int page = chapterpage + 1;
|
final int page = chapterpage + 1;
|
||||||
final int pages = (chapterend - chapterstart) / 9 + ((chapterend - chapterstart) % 9 > 0 ? 1 : 0);
|
final int pages = (chapterend - chapterstart) / 9 + ((chapterend - chapterstart) % 9 > 0 ? 1 : 0);
|
||||||
if (!onePage)
|
if (!onePage && commandName != null)
|
||||||
{
|
{
|
||||||
sender.sendMessage(_("infoChapterPages", pageStr, page, pages));
|
sender.sendMessage(_("infoChapterPages", pageStr, page, pages));
|
||||||
}
|
}
|
||||||
|
@ -191,7 +191,7 @@ public class TextPager
|
||||||
{
|
{
|
||||||
sender.sendMessage(lines.get(i));
|
sender.sendMessage(lines.get(i));
|
||||||
}
|
}
|
||||||
if (!onePage && page < pages)
|
if (!onePage && page < pages && commandName != null)
|
||||||
{
|
{
|
||||||
sender.sendMessage(_("readNextPage", commandName, pageStr + " " + (page + 1)));
|
sender.sendMessage(_("readNextPage", commandName, pageStr + " " + (page + 1)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,6 +218,7 @@ enabledSigns:
|
||||||
#- enchant
|
#- enchant
|
||||||
#- gamemode
|
#- gamemode
|
||||||
#- heal
|
#- heal
|
||||||
|
#- info
|
||||||
#- spawnmob
|
#- spawnmob
|
||||||
#- repair
|
#- repair
|
||||||
#- time
|
#- time
|
||||||
|
|
Loading…
Reference in a new issue