Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
b077e0a
SuperiorSkyblock Compatibility
MC-Samuel May 10, 2025
77713ed
plugin identifier added
MC-Samuel May 10, 2025
d3988fa
helper method added
MC-Samuel May 10, 2025
082a86e
-_-
MC-Samuel May 10, 2025
1be5361
- mechanism.getValue() -> value
MC-Samuel May 10, 2025
a96c4e1
Added `LocationTag.superiorskyblock_island` to get island at the prov…
MC-Samuel May 11, 2025
fb1e0ea
fixed empty check
MC-Samuel May 14, 2025
826bdf7
aya update
MC-Samuel May 15, 2025
2faa8fc
meta update
MC-Samuel May 16, 2025
245f6ef
preventing spawn islands from having mechanisms adjusted and tags res…
MC-Samuel May 29, 2025
ba66262
adjusted being able to input spawn uuid in the raw superiorskyblockis…
MC-Samuel May 29, 2025
8d2e3c4
attribute
MC-Samuel May 30, 2025
cd7d7b0
core tag changes, couple tag changes, and slight meta change
MC-Samuel Jun 18, 2025
4dc2a71
removed special spawn island handling
MC-Samuel Jun 18, 2025
c34f2b1
revert previous commit
MC-Samuel Jun 19, 2025
2c99ea3
removed redundant section and moved uuid
MC-Samuel Jul 10, 2025
e3a2831
shortened download link
MC-Samuel Jul 13, 2025
d08a232
pom bump
MC-Samuel Nov 12, 2025
65267ff
slight formatting changes
MC-Samuel Nov 12, 2025
22680ed
cosmetic change
MC-Samuel Nov 14, 2025
07f19b9
added a few more tags and mechanisms
MC-Samuel Dec 21, 2025
82fa337
slight change to 'SuperiorSkyblockIslandTag.homes'
MC-Samuel Dec 21, 2025
d6aeff6
minor error message fix
MC-Samuel Dec 21, 2025
ef8ee36
added a new mechanism, fixed some small details
MC-Samuel Dec 23, 2025
b70b5aa
slight condensation
MC-Samuel Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Docs/BukkitPlugins.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ Supported Plugins: (And the sources we acquired Jar files from.)
- Sentinel (https://www.spigotmc.org/resources/sentinel.22017/)
- ShopKeepers (https://www.spigotmc.org/resources/shopkeepers.80756/)
- SkillAPI (http://dev.bukkit.org/bukkit-plugins/skillapi/)
- SuperiorSkyblock2 (https://www.spigotmc.org/resources/superiorskyblock2.87411/)
- TerrainControl/OpenTerrainGenerator (https://github.com/PG85/OpenTerrainGenerator)
- Towny (https://github.com/TownyAdvanced/Towny)
- TownyChat (https://github.com/TownyAdvanced/Towny)
Expand Down
7 changes: 7 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -316,6 +316,13 @@
<scope>system</scope>
<systemPath>${basedir}/lib/SkillAPI.jar</systemPath>
</dependency>
<dependency>
<groupId>com.bgsoftware</groupId>
<artifactId>SuperiorSkyblock</artifactId>
<version>2025.2.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/SuperiorSkyblock2.jar</systemPath>
</dependency>
<dependency>
<groupId>com.khorn</groupId>
<artifactId>TerrainControl</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ public void registerCoreBridges() {
registerBridge("Sentinel", () -> new SentinelBridge());
registerBridge("Shopkeepers", () -> new ShopkeepersBridge());
registerBridge("SkillAPI", () -> new SkillAPIBridge());
registerBridge("SuperiorSkyblock2", () -> new SuperiorSkyblockBridge());
registerBridge("TerrainControl", () -> new TerrainControlBridge());
registerBridge("Towny", () -> new TownyBridge());
registerBridge("TownyChat", () -> new TownyChatBridge());
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.denizenscript.depenizen.bukkit.bridges;

import com.denizenscript.denizencore.events.ScriptEvent;
import com.denizenscript.denizencore.objects.ObjectFetcher;
import com.denizenscript.denizencore.tags.TagManager;
import com.denizenscript.depenizen.bukkit.Bridge;
import com.denizenscript.depenizen.bukkit.events.superiorskyblock.*;
import com.denizenscript.depenizen.bukkit.objects.superiorskyblock.SuperiorSkyblockIslandTag;
import com.denizenscript.depenizen.bukkit.properties.superiorskyblock.*;

public class SuperiorSkyblockBridge extends Bridge {

@Override
public void init() {
ScriptEvent.registerScriptEvent(SuperiorSkyblockIslandCreatedScriptEvent.class);
ScriptEvent.registerScriptEvent(SuperiorSkyblockIslandDisbandedScriptEvent.class);
SuperiorSkyblockLocationExtensions.register();
SuperiorSkyblockPlayerExtensions.register();
ObjectFetcher.registerWithObjectFetcher(SuperiorSkyblockIslandTag.class, SuperiorSkyblockIslandTag.tagProcessor);

// <--[tag]
// @attribute <superiorskyblock_island[<uuid>]>
// @returns SuperiorSkyblockIslandTag
// @plugin Depenizen, SuperiorSkyblock
// @description
// Returns the superiorskyblock island tag with the given uuid.
// Refer to <@link objecttype SuperiorSkyblockIslandTag> for more information.
// -->
TagManager.registerTagHandler(SuperiorSkyblockIslandTag.class, SuperiorSkyblockIslandTag.class, "superiorskyblock_island", (attribute, param) -> {
return param;
});
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
package com.denizenscript.depenizen.bukkit.events.superiorskyblock;

import com.bgsoftware.superiorskyblock.api.events.IslandCreateEvent;
import com.denizenscript.denizen.events.BukkitScriptEvent;
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.superiorskyblock.SuperiorSkyblockIslandTag;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

public class SuperiorSkyblockIslandCreatedScriptEvent extends BukkitScriptEvent implements Listener {

// <--[event]
// @Events
// superiorskyblock island created
//
// @Triggers when an island is created
//
// @Cancellable true
//
// @Context
// <context.island> returns a SuperiorSkyblockIslandTag of the island.
//
// @Determine
// "TELEPORT:<ElementTag(Boolean)>" to set whether the player will automatically teleport to the island once it's generated.
//
// @Plugin Depenizen, SuperiorSkyblock
//
// @Player Always.
//
// @Group Depenizen
//
// -->

public SuperiorSkyblockIslandCreatedScriptEvent() {
registerCouldMatcher("superiorskyblock island created");
this.<SuperiorSkyblockIslandCreatedScriptEvent, ElementTag>registerOptionalDetermination("teleport", ElementTag.class, (evt, context, value) -> {
if (value.isBoolean()) {
evt.event.setTeleport(value.asBoolean());
return true;
}
return false;
});
}

public IslandCreateEvent event;

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(event.getPlayer().asPlayer());
}

@Override
public ObjectTag getContext(String name) {
return switch (name) {
case "island" -> new SuperiorSkyblockIslandTag(event.getIsland());
default -> super.getContext(name);
};
}

@EventHandler
public void onIslandCreate(IslandCreateEvent event) {
this.event = event;
fire(event);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
package com.denizenscript.depenizen.bukkit.events.superiorskyblock;

import com.bgsoftware.superiorskyblock.api.events.IslandDisbandEvent;
import com.denizenscript.denizen.events.BukkitScriptEvent;
import com.denizenscript.denizen.utilities.implementation.BukkitScriptEntryData;
import com.denizenscript.denizencore.objects.ObjectTag;
import com.denizenscript.denizencore.scripts.ScriptEntryData;
import com.denizenscript.depenizen.bukkit.objects.superiorskyblock.SuperiorSkyblockIslandTag;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;

public class SuperiorSkyblockIslandDisbandedScriptEvent extends BukkitScriptEvent implements Listener {

// <--[event]
// @Events
// superiorskyblock island disbanded
//
// @Triggers when an island is disbanded
//
// @Cancellable true
//
// @Context
// <context.island> returns a SuperiorSkyblockIslandTag of the island.
//
// @Plugin Depenizen, SuperiorSkyblock
//
// @Player Always.
//
// @Group Depenizen
//
// -->

public SuperiorSkyblockIslandDisbandedScriptEvent() {
registerCouldMatcher("superiorskyblock island disbanded");
}

public IslandDisbandEvent event;

@Override
public ScriptEntryData getScriptEntryData() {
return new BukkitScriptEntryData(event.getPlayer().asPlayer());
}

@Override
public ObjectTag getContext(String name) {
return switch (name) {
case "island" -> new SuperiorSkyblockIslandTag(event.getIsland());
default -> super.getContext(name);
};
}

@EventHandler
public void onIslandDisband(IslandDisbandEvent event) {
this.event = event;
fire(event);
}
}
Loading