Skip to content

Commit

Permalink
initial LocationTag flag impl
Browse files Browse the repository at this point in the history
  • Loading branch information
mcmonkey4eva committed Dec 5, 2020
1 parent f2534d3 commit 1f480c5
Showing 1 changed file with 22 additions and 1 deletion.
Expand Up @@ -6,10 +6,14 @@
import com.denizenscript.denizen.objects.properties.material.MaterialSwitchFace;
import com.denizenscript.denizen.objects.properties.material.MaterialPersistent;
import com.denizenscript.denizen.scripts.commands.world.SwitchCommand;
import com.denizenscript.denizen.utilities.DataPersistenceHelper;
import com.denizenscript.denizen.utilities.world.PathFinder;
import com.denizenscript.denizen.utilities.Utilities;
import com.denizenscript.denizen.utilities.debugging.Debug;
import com.denizenscript.denizen.utilities.entity.DenizenEntityType;
import com.denizenscript.denizencore.flags.AbstractFlagTracker;
import com.denizenscript.denizencore.flags.FlaggableObject;
import com.denizenscript.denizencore.flags.MapTagFlagTracker;
import com.denizenscript.denizencore.objects.*;
import com.denizenscript.denizen.utilities.Settings;
import com.denizenscript.denizen.nms.NMSHandler;
Expand All @@ -20,6 +24,7 @@
import com.denizenscript.denizencore.objects.core.DurationTag;
import com.denizenscript.denizencore.objects.core.ElementTag;
import com.denizenscript.denizencore.objects.core.ListTag;
import com.denizenscript.denizencore.objects.core.MapTag;
import com.denizenscript.denizencore.objects.notable.Notable;
import com.denizenscript.denizencore.objects.notable.Note;
import com.denizenscript.denizencore.tags.Attribute;
Expand Down Expand Up @@ -51,7 +56,7 @@
import java.util.*;
import java.util.Comparator;

public class LocationTag extends org.bukkit.Location implements ObjectTag, Notable, Adjustable {
public class LocationTag extends org.bukkit.Location implements ObjectTag, Notable, Adjustable, FlaggableObject {

// <--[language]
// @name LocationTag Objects
Expand Down Expand Up @@ -547,6 +552,20 @@ public LocationTag getBlockLocation() {
return new LocationTag(getWorld(), getBlockX(), getBlockY(), getBlockZ());
}

@Override
public AbstractFlagTracker getFlagTracker() {
MapTag map = (MapTag) DataPersistenceHelper.getDenizenKey(getChunk(), "flag_tracker_" + getBlockX() + "_" + getBlockY() + "_" + getBlockZ());
if (map == null) {
map = new MapTag();
}
return new MapTagFlagTracker(map);
}

@Override
public void reapplyTracker(AbstractFlagTracker tracker) {
DataPersistenceHelper.setDenizenKey(getChunk(), "flag_tracker_" + getBlockX() + "_" + getBlockY() + "_" + getBlockZ(), ((MapTagFlagTracker) tracker).map);
}

/**
* Indicates whether this location is forced to identify as not-a-note or not.
*/
Expand Down Expand Up @@ -833,6 +852,8 @@ public String toString() {

public static void registerTags() {

AbstractFlagTracker.registerFlagHandlers(tagProcessor);

/////////////////////
// BLOCK ATTRIBUTES
/////////////////
Expand Down

0 comments on commit 1f480c5

Please sign in to comment.