Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Towny and GriefPrevention additions (#382)
* Add new towny features, fix some existing issues * Replace towny claimed_cuboid with cuboids * Add GP claim events, fix issues from PR review * Register new gpclaim events * Modernize gp claim tag * Modernize towny world properties
- Loading branch information
Showing
14 changed files
with
736 additions
and
70 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
87 changes: 87 additions & 0 deletions
87
.../com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimChangedScriptEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
package com.denizenscript.depenizen.bukkit.events.griefprevention; | ||
|
||
import com.denizenscript.denizen.events.BukkitScriptEvent; | ||
import com.denizenscript.denizen.objects.PlayerTag; | ||
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData; | ||
import com.denizenscript.denizencore.objects.ObjectTag; | ||
import com.denizenscript.denizencore.objects.core.ElementTag; | ||
import com.denizenscript.denizencore.scripts.ScriptEntryData; | ||
import com.denizenscript.depenizen.bukkit.objects.griefprevention.GriefPreventionClaimTag; | ||
import me.ryanhamshire.GriefPrevention.events.ClaimChangeEvent; | ||
import me.ryanhamshire.GriefPrevention.events.ClaimExtendEvent; | ||
import me.ryanhamshire.GriefPrevention.events.ClaimResizeEvent; | ||
import org.bukkit.entity.Player; | ||
import org.bukkit.event.EventHandler; | ||
import org.bukkit.event.Listener; | ||
|
||
public class GPClaimChangedScriptEvent extends BukkitScriptEvent implements Listener { | ||
|
||
// <--[event] | ||
// @Events | ||
// gp claim changed | ||
// | ||
// @Cancellable true | ||
// | ||
// @Triggers when a Grief Prevention claim is modified. | ||
// | ||
// @Context | ||
// <context.old_claim> returns the GriefPreventionClaimTag of the old claim. | ||
// <context.new_claim> returns the GriefPreventionClaimTag of the new claim. | ||
// <context.source_type> returns the source of the change. Can be: PLAYER, SERVER, or AUTO_DEEPEN. | ||
// | ||
// @Plugin Depenizen, GriefPrevention | ||
// | ||
// @Player when source_type is player. | ||
// | ||
// @Group Depenizen | ||
// | ||
// --> | ||
|
||
public GPClaimChangedScriptEvent() { | ||
instance = this; | ||
registerCouldMatcher("gp claim changed"); | ||
} | ||
|
||
public static GPClaimChangedScriptEvent instance; | ||
public ClaimChangeEvent event; | ||
public Player player; | ||
public String sourceType; | ||
|
||
@Override | ||
public String getName() { | ||
return "GPClaimChanged"; | ||
} | ||
|
||
@Override | ||
public ScriptEntryData getScriptEntryData() { | ||
return new BukkitScriptEntryData(player != null ? PlayerTag.mirrorBukkitPlayer(player) : null, null); | ||
} | ||
|
||
@Override | ||
public ObjectTag getContext(String name) { | ||
switch (name) { | ||
case "old_claim": | ||
return new GriefPreventionClaimTag(event.getFrom()); | ||
case "new_claim": | ||
return new GriefPreventionClaimTag(event.getTo()); | ||
case "source_type": | ||
return new ElementTag(sourceType); | ||
} | ||
return super.getContext(name); | ||
} | ||
|
||
@EventHandler | ||
public void onClaimChanged(ClaimChangeEvent event) { | ||
this.event = event; | ||
this.player = null; | ||
this.sourceType = "server"; | ||
if (event instanceof ClaimExtendEvent) { | ||
this.sourceType = "auto_deepen"; | ||
} | ||
else if (event instanceof ClaimResizeEvent && ((ClaimResizeEvent) event).getModifier() instanceof Player) { | ||
this.player = (Player) ((ClaimResizeEvent) event).getModifier(); | ||
this.sourceType = "player"; | ||
} | ||
fire(event); | ||
} | ||
} |
73 changes: 73 additions & 0 deletions
73
.../com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimCreatedScriptEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
package com.denizenscript.depenizen.bukkit.events.griefprevention; | ||
|
||
import com.denizenscript.denizen.events.BukkitScriptEvent; | ||
import com.denizenscript.denizen.objects.PlayerTag; | ||
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData; | ||
import com.denizenscript.denizencore.objects.ObjectTag; | ||
import com.denizenscript.denizencore.objects.core.ElementTag; | ||
import com.denizenscript.denizencore.scripts.ScriptEntryData; | ||
import com.denizenscript.depenizen.bukkit.objects.griefprevention.GriefPreventionClaimTag; | ||
import me.ryanhamshire.GriefPrevention.events.ClaimCreatedEvent; | ||
import org.bukkit.entity.Player; | ||
import org.bukkit.event.EventHandler; | ||
import org.bukkit.event.Listener; | ||
|
||
public class GPClaimCreatedScriptEvent extends BukkitScriptEvent implements Listener { | ||
|
||
// <--[event] | ||
// @Events | ||
// gp claim created | ||
// | ||
// @Cancellable true | ||
// | ||
// @Triggers when a Grief Prevention claim is created. | ||
// | ||
// @Context | ||
// <context.claim> returns the GriefPreventionClaimTag that is being created. | ||
// <context.source_type> returns the source of the creation. Can be PLAYER or SERVER. | ||
// | ||
// @Plugin Depenizen, GriefPrevention | ||
// | ||
// @Player when source_type is player. | ||
// | ||
// @Group Depenizen | ||
// | ||
// --> | ||
|
||
public GPClaimCreatedScriptEvent() { | ||
instance = this; | ||
registerCouldMatcher("gp claim created"); | ||
} | ||
|
||
public static GPClaimCreatedScriptEvent instance; | ||
public ClaimCreatedEvent event; | ||
public String sourceType; | ||
|
||
@Override | ||
public String getName() { | ||
return "GPClaimCreated"; | ||
} | ||
|
||
@Override | ||
public ScriptEntryData getScriptEntryData() { | ||
return new BukkitScriptEntryData(event.getCreator() instanceof Player ? PlayerTag.mirrorBukkitPlayer((Player) event.getCreator()) : null, null); | ||
} | ||
|
||
@Override | ||
public ObjectTag getContext(String name) { | ||
switch (name) { | ||
case "claim": | ||
return new GriefPreventionClaimTag(event.getClaim()); | ||
case "source_type": | ||
return new ElementTag(sourceType); | ||
} | ||
return super.getContext(name); | ||
} | ||
|
||
@EventHandler | ||
public void onClaimCreated(ClaimCreatedEvent event) { | ||
this.event = event; | ||
this.sourceType = event.getCreator() instanceof Player ? "player" : "server"; | ||
fire(event); | ||
} | ||
} |
53 changes: 53 additions & 0 deletions
53
.../com/denizenscript/depenizen/bukkit/events/griefprevention/GPClaimDeletedScriptEvent.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
package com.denizenscript.depenizen.bukkit.events.griefprevention; | ||
|
||
import com.denizenscript.denizen.events.BukkitScriptEvent; | ||
import com.denizenscript.denizencore.objects.ObjectTag; | ||
import com.denizenscript.depenizen.bukkit.objects.griefprevention.GriefPreventionClaimTag; | ||
import me.ryanhamshire.GriefPrevention.events.ClaimDeletedEvent; | ||
import org.bukkit.event.EventHandler; | ||
import org.bukkit.event.Listener; | ||
|
||
public class GPClaimDeletedScriptEvent extends BukkitScriptEvent implements Listener { | ||
|
||
// <--[event] | ||
// @Events | ||
// gp claim deleted | ||
// | ||
// @Triggers when a Grief Prevention claim is deleted. | ||
// | ||
// @Context | ||
// <context.claim> returns the GriefPreventionClaimTag being deleted. | ||
// | ||
// @Plugin Depenizen, GriefPrevention | ||
// | ||
// @Group Depenizen | ||
// | ||
// --> | ||
|
||
public GPClaimDeletedScriptEvent() { | ||
instance = this; | ||
registerCouldMatcher("gp claim deleted"); | ||
} | ||
|
||
public static GPClaimDeletedScriptEvent instance; | ||
public ClaimDeletedEvent event; | ||
|
||
@Override | ||
public String getName() { | ||
return "GPClaimDeleted"; | ||
} | ||
|
||
@Override | ||
public ObjectTag getContext(String name) { | ||
if (name.equals("claim")) { | ||
return new GriefPreventionClaimTag(event.getClaim()); | ||
} | ||
return super.getContext(name); | ||
} | ||
|
||
@EventHandler | ||
public void onClaimDeleted(ClaimDeletedEvent event) { | ||
this.event = event; | ||
fire(event); | ||
} | ||
} |
Oops, something went wrong.