-
-
Notifications
You must be signed in to change notification settings - Fork 42
/
BigDoorsBridge.java
48 lines (43 loc) · 2.15 KB
/
BigDoorsBridge.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.denizenscript.depenizen.bukkit.bridges;
import com.denizenscript.denizen.objects.PlayerTag;
import com.denizenscript.denizen.objects.WorldTag;
import com.denizenscript.denizencore.events.ScriptEvent;
import com.denizenscript.denizencore.objects.ObjectFetcher;
import com.denizenscript.denizencore.objects.properties.PropertyParser;
import com.denizenscript.denizencore.tags.TagManager;
import com.denizenscript.depenizen.bukkit.Bridge;
import com.denizenscript.depenizen.bukkit.events.bigdoors.BigDoorsDoorTogglesScriptEvent;
import com.denizenscript.depenizen.bukkit.objects.bigdoors.BigDoorsDoorTag;
import com.denizenscript.depenizen.bukkit.properties.bigdoors.BigDoorsPlayerProperties;
import com.denizenscript.depenizen.bukkit.properties.bigdoors.BigDoorsWorldProperties;
import nl.pim16aap2.bigDoors.BigDoors;
import nl.pim16aap2.bigDoors.Commander;
import org.bukkit.Bukkit;
public class BigDoorsBridge extends Bridge {
public static BigDoors bigDoors;
public static Commander commander;
@Override
public void init() {
bigDoors = (BigDoors) Bukkit.getPluginManager().getPlugin("BigDoors");
commander = bigDoors.getCommander();
ObjectFetcher.registerWithObjectFetcher(BigDoorsDoorTag.class, BigDoorsDoorTag.tagProcessor);
PropertyParser.registerProperty(BigDoorsWorldProperties.class, WorldTag.class);
PropertyParser.registerProperty(BigDoorsPlayerProperties.class, PlayerTag.class);
ScriptEvent.registerScriptEvent(new BigDoorsDoorTogglesScriptEvent());
// <--[tag]
// @attribute <bigdoor[<door>]>
// @returns BigDoorsDoorTag
// @plugin Depenizen, Big Doors
// @description
// Returns a BigDoorsDoorTag object constructed from the input value.
// Refer to <@link language BigDoorsDoorTag objects>.
// -->
TagManager.registerTagHandler("bigdoor", (attribute) -> {
if (!attribute.hasContext(1)) {
attribute.echoError("Big Doors door tag base must have input.");
return null;
}
return BigDoorsDoorTag.valueOf(attribute.getContext(1), attribute.context);
});
}
}