Java Reference
In-Depth Information
import
net.canarymod.api.world.position.Location;
import
net.canarymod.api.world.blocks.Block;
import
net.canarymod.api.world.blocks.BlockType;
import
net.canarymod.api.world.blocks.Sign;
import
com.pragprog.ahmine.ez.EZPlugin;
public class
NamedSigns
extends
EZPlugin {
private static Map
<
String
,Location> signs =
new HashMap
<
String
,Location>();
❶
❷
private void
usage(Player me) {
me.chat(
"Usage: signs new name"
);
me.chat(
"
signs set name message"
);
}
private void
parseArgs(Player me,
String []
args) {
if
(args.length < 3) {
❸
usage(me);
return
;
}
if
(args[1].equalsIgnoreCase(
"new"
)) {
makeNewSign(me, args);
}
if
(args[1].equalsIgnoreCase(
"set"
)) {
if
(args.length < 4) {
❹
usage(me);
return
;
}
setSign(me, args);
}
}
// signs new sign_name
private void
makeNewSign(Player me,
String []
args) {
❺
Location loc = me.getLocation();
loc.setX(loc.getX() + 1);
// Not right on top of player
int
y = loc.getWorld().getHighestBlockAt((
int
)loc.getX(),(
int
)loc.getZ());
loc.setY(y);
signs.put(args[2], loc);
setBlockAt(loc, BlockType.SignPost);
}
// signs set sign_name line1
private void
setSign(Player me,
String []
args) {
❻
String
name = args[2];
String
msg = args[3];
if
(!signs.containsKey(name)) {
// No such named sign
me.chat(
"No sign named "
+ name);
return
;
}