Skip to content

Commit 54b43f8

Browse files
committed
Glide Stuff
1 parent 93249ee commit 54b43f8

File tree

6 files changed

+115
-31
lines changed

6 files changed

+115
-31
lines changed

src/plugin.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ description: An addon for skript that adds conversions, utilities and much more.
33
author: tim740
44
website: https://tim740.github.io/
55
main: uk.tim740.skUtilities.skUtilities
6-
version: 0.3.8
6+
version: 0.3.9
77
depend: [Skript]
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package uk.tim740.skUtilities;
2+
3+
import ch.njol.skript.Skript;
4+
import ch.njol.skript.lang.util.SimpleEvent;
5+
import ch.njol.skript.registrations.EventValues;
6+
import ch.njol.skript.util.Getter;
7+
import org.bukkit.entity.Entity;
8+
import org.bukkit.entity.Player;
9+
import org.bukkit.event.block.CauldronLevelChangeEvent;
10+
11+
import javax.annotation.Nullable;
12+
13+
/**
14+
* Created by tim740 on 13/03/2016
15+
*/
16+
public class RegEvent {
17+
public static void regE(){
18+
Skript.registerEvent("CauldronLevelChange", SimpleEvent.class, CauldronLevelChangeEvent.class, "cauldron[ water] level change");
19+
EventValues.registerEventValue(CauldronLevelChangeEvent.class, Integer.class, new Getter<Integer,CauldronLevelChangeEvent>() {
20+
@Nullable
21+
@Override
22+
public Integer get(CauldronLevelChangeEvent e) {
23+
return e.getNewLevel();
24+
}
25+
}, 0);
26+
EventValues.registerEventValue(CauldronLevelChangeEvent.class, Player.class, new Getter<Player, CauldronLevelChangeEvent>(){
27+
@Nullable
28+
@Override
29+
public Player get(CauldronLevelChangeEvent e) {
30+
return ((Player) e.getEntity());
31+
}
32+
}, 0);
33+
EventValues.registerEventValue(CauldronLevelChangeEvent.class, Entity.class, new Getter<Entity, CauldronLevelChangeEvent>(){
34+
@Nullable
35+
@Override
36+
public Entity get(CauldronLevelChangeEvent e) {
37+
return e.getEntity();
38+
}
39+
}, 0);
40+
41+
//Skript.registerEvent("GlideToggle", SimpleEvent.class, EntityToggleGlideEvent.class, "[elytra ]glide toggle");
42+
}
43+
}

src/uk/tim740/skUtilities/RegUtil.java

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,8 @@
22

33
import ch.njol.skript.Skript;
44
import ch.njol.skript.lang.ExpressionType;
5-
import ch.njol.skript.lang.util.SimpleEvent;
6-
import ch.njol.skript.registrations.EventValues;
7-
import ch.njol.skript.util.Getter;
8-
import org.bukkit.entity.Entity;
9-
import org.bukkit.entity.Player;
10-
import org.bukkit.event.block.CauldronLevelChangeEvent;
115
import uk.tim740.skUtilities.util.*;
126

13-
import javax.annotation.Nullable;
14-
157
/**
168
* Created by tim740 on 22/02/2016
179
*/
@@ -27,28 +19,8 @@ public static void regU() {
2719
Skript.registerEffect(EffRunScript.class, "run script at %string%");
2820
Skript.registerEffect(EffPrintError.class, "print (0¦info|1¦warning|2¦error) %string% to console");
2921
Skript.registerEffect(EffVillagerProfession.class, "spawn a %entity% with profession (0¦farmer|1¦librarian|2¦priest|3¦blacksmith|4¦butcher) at %location%");
22+
Skript.registerEffect(EffToggleGlide.class, "set %entity%'s glide (state|ability|mode) to %boolean%");
3023

31-
Skript.registerEvent("CauldronLevelChange", SimpleEvent.class, CauldronLevelChangeEvent.class, "cauldron[ water] level change");
32-
EventValues.registerEventValue(CauldronLevelChangeEvent.class, Integer.class, new Getter<Integer,CauldronLevelChangeEvent>() {
33-
@Nullable
34-
@Override
35-
public Integer get(CauldronLevelChangeEvent e) {
36-
return e.getNewLevel();
37-
}
38-
}, 0);
39-
EventValues.registerEventValue(CauldronLevelChangeEvent.class, Player.class, new Getter<Player, CauldronLevelChangeEvent>(){
40-
@Nullable
41-
@Override
42-
public Player get(CauldronLevelChangeEvent e) {
43-
return ((Player) e.getEntity());
44-
}
45-
}, 0);
46-
EventValues.registerEventValue(CauldronLevelChangeEvent.class, Entity.class, new Getter<Entity, CauldronLevelChangeEvent>(){
47-
@Nullable
48-
@Override
49-
public Entity get(CauldronLevelChangeEvent e) {
50-
return e.getEntity();
51-
}
52-
}, 0);
24+
Skript.registerCondition(CondGliding.class, "%entity% is gliding");
5325
}
5426
}

src/uk/tim740/skUtilities/skUtilities.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ public void onEnable() {
1111
Skript.registerAddon(this);
1212
RegConvert.regC();
1313
RegUtil.regU();
14+
RegEvent.regE();
1415
Bukkit.getServer().getLogger().info("[skUtilities] v" + Bukkit.getServer().getPluginManager().getPlugin("skUtilities").getDescription().getVersion() + " has fully loaded!");
1516
}
1617
public static void prErr(String s, String c) {
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package uk.tim740.skUtilities.util;
2+
3+
import ch.njol.skript.lang.Condition;
4+
import ch.njol.skript.lang.Expression;
5+
import ch.njol.skript.lang.SkriptParser;
6+
import ch.njol.util.Kleenean;
7+
import org.bukkit.entity.LivingEntity;
8+
import org.bukkit.event.Event;
9+
10+
/**
11+
* Created by tim740 on 13/03/2016
12+
*/
13+
public class CondGliding extends Condition {
14+
private Expression<LivingEntity> ent;
15+
16+
@Override
17+
public boolean check(Event arg0) {
18+
return ent.getSingle(arg0).isGliding();
19+
}
20+
21+
@SuppressWarnings("unchecked")
22+
@Override
23+
public boolean init(Expression<?>[] arg0, int arg1, Kleenean arg2, SkriptParser.ParseResult arg3) {
24+
ent = (Expression<LivingEntity>) arg0[0];
25+
return true;
26+
}
27+
@Override
28+
public String toString(Event arg0, boolean arg1) {
29+
return getClass().getName();
30+
}
31+
32+
33+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package uk.tim740.skUtilities.util;
2+
3+
import ch.njol.skript.lang.Effect;
4+
import ch.njol.skript.lang.Expression;
5+
import ch.njol.skript.lang.SkriptParser;
6+
import ch.njol.util.Kleenean;
7+
import org.bukkit.entity.LivingEntity;
8+
import org.bukkit.event.Event;
9+
10+
import javax.annotation.Nullable;
11+
12+
/**
13+
* Created by tim740 on 13/03/2016
14+
*/
15+
public class EffToggleGlide extends Effect {
16+
private Expression<Boolean> boo;
17+
private Expression<LivingEntity> entity;
18+
19+
@Override
20+
protected void execute(Event arg0) {
21+
entity.getSingle(arg0).setGliding(boo.getSingle(arg0));
22+
}
23+
24+
@SuppressWarnings("unchecked")
25+
@Override
26+
public boolean init(Expression<?>[] arg0, int arg1, Kleenean arg2, SkriptParser.ParseResult arg3) {
27+
entity = (Expression<LivingEntity>) arg0[0];
28+
boo = (Expression<Boolean>) arg0[1];
29+
return true;
30+
}
31+
@Override
32+
public String toString(@Nullable Event arg0, boolean arg1) {
33+
return getClass().getName();
34+
}
35+
}

0 commit comments

Comments
 (0)