Skip to content

Commit

Permalink
Remove duplication of code for event
Browse files Browse the repository at this point in the history
  • Loading branch information
tastybento committed Nov 14, 2020
1 parent 19565e9 commit 81e4dbe
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 87 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,35 +3,30 @@
import org.bukkit.Material;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.Cancellable;
import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable;

import world.bentobox.bentobox.api.events.BentoBoxEvent;
import world.bentobox.limits.Settings.EntityGroup;
import world.bentobox.limits.objects.IslandBlockCount;

/**
* Fired when a player joins the server and before limit settings for their island are changed based
* on the player's permissions. If cancelled, no limit settings will be made.
* Fired when a player joins the server and for each perm-based limit setting.
* If cancelled, no limit settings will be made.
* Settings can be adjusted and will be used.
* @author tastybento
*
*/
public class LimitsPermCheckEvent extends BentoBoxEvent implements Cancellable {
public class LimitsPermCheckEvent extends LimitsJoinPermCheckEvent {

private final Player player;
private final String islandId;
private IslandBlockCount ibc;
private boolean ignorePerms;
private boolean cancel;
private @Nullable EntityGroup entityGroup;
private @Nullable EntityType entityType;
private @Nullable Material material;
private int value;

/**
* Fired when a player joins the server and before limit settings for their island are changed based
* on the player's permissions. If cancelled, no limit settings will be made.
* Fired when a player joins the server and for each perm-based limit setting.
* If cancelled, no limit settings will be made.
* Settings can be adjusted and will be used.
* @param player - player joining
* @param islandId - the unique island id.
* @param ibc - IslandBlockCount object for this island
Expand All @@ -47,86 +42,13 @@ public LimitsPermCheckEvent(@NonNull Player player,
@Nullable EntityType entityType,
@Nullable Material material,
int value) {
super();
this.player = player;
this.islandId = islandId;
this.ibc = ibc;
super(player, islandId, ibc);
this.entityGroup = entgroup;
this.entityType = entityType;
this.material = material;
this.value = value;
}


/**
* Get the player joining
* @return the player
*/
@NonNull
public Player getPlayer() {
return player;
}


/**
* Get the unique island id. Use the islands manager to obtain the island
* @return the islandId
*/
@NonNull
public String getIslandId() {
return islandId;
}


/**
* Get the island block count
* @return the ibc
*/
@Nullable
public IslandBlockCount getIbc() {
return ibc;
}


/**
* Set the island block count to a specific setting
* @param ibc the ibc to set
*/
public void setIbc(@Nullable IslandBlockCount ibc) {
this.ibc = ibc;
}


@Override
public boolean isCancelled() {
return this.cancel;
}

@Override
public void setCancelled(boolean cancel) {
this.cancel = cancel;

}


/**
* Check if player's perms should be considered or not
* @return the ignorePerms
*/
public boolean isIgnorePerms() {
return ignorePerms;
}


/**
* Ignore player's perms. This differs to canceling the event in that the IslandBlockCount will be used if given via
* {@link setIbc(IslandBlockCount ibc)}
* @param ignorePerms the ignorePerms to set
*/
public void setIgnorePerms(boolean ignorePerms) {
this.ignorePerms = ignorePerms;
}

/**
* @return the entityGroup
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ private void checkPerms(Player player, String permissionPrefix, String islandId,
ibc = new IslandBlockCount(islandId, gameMode);
}

int value = Integer.valueOf(split[4]);
int value = Integer.parseInt(split[4]);
// Fire perm check event
LimitsPermCheckEvent l = new LimitsPermCheckEvent(player, gameMode, ibc, entgroup, et, m, value);
Bukkit.getPluginManager().callEvent(l);
Expand Down

0 comments on commit 81e4dbe

Please sign in to comment.