use of com.minecolonies.coremod.colony.permissions.PermissionEvent in project minecolonies by Minecolonies.
the class ColonyPermissionEventHandler method cancelEvent.
/**
* Cancel an event and record the denial details in the colony's town hall.
* @param event the event to cancel
* @param player the player whose action was denied
* @param colony the colony where the event took place
* @param action the action which was denied
* @param pos the location of the action which was denied
*/
private static void cancelEvent(final Event event, @Nullable final EntityPlayer player, final Colony colony, final Action action, final BlockPos pos) {
event.setResult(Event.Result.DENY);
if (event.isCancelable()) {
event.setCanceled(true);
if (player == null) {
if (colony.hasTownHall()) {
colony.getBuildingManager().getTownHall().addPermissionEvent(new PermissionEvent(null, "-", action, pos));
}
return;
}
if (colony.hasTownHall()) {
colony.getBuildingManager().getTownHall().addPermissionEvent(new PermissionEvent(player.getUniqueID(), player.getName(), action, pos));
}
if (player instanceof FakePlayer) {
return;
}
LanguageHandler.sendPlayerMessage(player, "com.minecolonies.coremod.permission.no");
}
}
use of com.minecolonies.coremod.colony.permissions.PermissionEvent in project minecolonies by Minecolonies.
the class BuildingTownHall method serializeToView.
@Override
public void serializeToView(@NotNull final ByteBuf buf) {
super.serializeToView(buf);
buf.writeInt(permissionEvents.size());
for (final PermissionEvent event : permissionEvents) {
event.serialize(buf);
}
}
use of com.minecolonies.coremod.colony.permissions.PermissionEvent in project minecolonies by Minecolonies.
the class WindowTownHall method addPlayerToColonyClicked.
/**
* Action performed when remove player button is clicked.
*
* @param button Button that holds the user clicked on.
*/
private void addPlayerToColonyClicked(@NotNull final Button button) {
final int row = permEventList.getListElementIndexByPane(button);
if (row >= 0 && row < building.getPermissionEvents().size()) {
final PermissionEvent user = building.getPermissionEvents().get(row);
MineColonies.getNetwork().sendToServer(new PermissionsMessage.AddPlayerOrFakePlayer(townHall.getColony(), user.getName(), user.getId()));
}
}
Aggregations