use of io.icker.factions.database.Home in project factions by ickerio.
the class HomeCommand method go.
public static int go(CommandContext<ServerCommandSource> context) throws CommandSyntaxException {
ServerCommandSource source = context.getSource();
ServerPlayerEntity player = source.getPlayer();
Faction faction = Member.get(player.getUuid()).getFaction();
Home home = faction.getHome();
if (home == null) {
new Message("No faction home set").fail().send(player, false);
return 0;
}
ServerWorld world = player.getServer().getWorld(RegistryKey.of(Registry.WORLD_KEY, new Identifier(home.level)));
if (checkLimitToClaim(faction, world, new BlockPos(home.x, home.y, home.z))) {
new Message("Cannot warp home to an unclaimed chunk").fail().send(player, false);
return 0;
}
DamageTracker tracker = player.getDamageTracker();
if (tracker.getMostRecentDamage() == null || tracker.getTimeSinceLastAttack() > Config.SAFE_TICKS_TO_WARP) {
player.teleport(world, home.x, home.y, home.z, home.yaw, home.pitch);
new Message("Warped to faction home").send(player, false);
} else {
new Message("Cannot warp while in combat").fail().send(player, false);
}
return 1;
}
use of io.icker.factions.database.Home in project factions by ickerio.
the class HomeCommand method set.
public static int set(CommandContext<ServerCommandSource> context) throws CommandSyntaxException {
ServerCommandSource source = context.getSource();
ServerPlayerEntity player = source.getPlayer();
Faction faction = Member.get(player.getUuid()).getFaction();
if (checkLimitToClaim(faction, player.getWorld(), player.getBlockPos())) {
new Message("Cannot set home to an unclaimed chunk").fail().send(player, false);
return 0;
}
Home home = faction.setHome(player.getX(), player.getY(), player.getZ(), player.getHeadYaw(), player.getPitch(), player.getWorld().getRegistryKey().getValue().toString());
new Message("%s set home to %.2f, %.2f, %.2f", player.getName().asString(), home.x, home.y, home.z).send(faction);
return 1;
}
Aggregations