-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
8 changed files
with
206 additions
and
0 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
27 changes: 27 additions & 0 deletions
27
src/main/java/lol/aabss/skuishy/elements/entities/conditions/CondIsCatHeadUp.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,27 @@ | ||
package lol.aabss.skuishy.elements.entities.conditions; | ||
|
||
import ch.njol.skript.doc.Description; | ||
import ch.njol.skript.doc.Examples; | ||
import ch.njol.skript.doc.Name; | ||
import ch.njol.skript.doc.Since; | ||
import lol.aabss.skuishy.other.skript.EntityCondition; | ||
import org.bukkit.entity.Cat; | ||
|
||
@Name("Cat - Is Head Up") | ||
@Description("True if the cat is head up:") | ||
@Examples({ | ||
"if {_cat} is head up:", | ||
"\tset head up of {_cat} to false" | ||
}) | ||
@Since("2.8") | ||
public class CondIsCatHeadUp extends EntityCondition<Cat> { | ||
|
||
static { | ||
register(CondIsCatHeadUp.class, "[cat] head up", "entities"); | ||
} | ||
|
||
@Override | ||
protected boolean run(Cat cat) { | ||
return cat.isHeadUp(); | ||
} | ||
} |
27 changes: 27 additions & 0 deletions
27
src/main/java/lol/aabss/skuishy/elements/entities/conditions/CondIsCatLyingDown.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,27 @@ | ||
package lol.aabss.skuishy.elements.entities.conditions; | ||
|
||
import ch.njol.skript.doc.Description; | ||
import ch.njol.skript.doc.Examples; | ||
import ch.njol.skript.doc.Name; | ||
import ch.njol.skript.doc.Since; | ||
import lol.aabss.skuishy.other.skript.EntityCondition; | ||
import org.bukkit.entity.Cat; | ||
|
||
@Name("Cat - Is Lying Down") | ||
@Description("True if the cat is lying down:") | ||
@Examples({ | ||
"if {_cat} is lying down:", | ||
"\tset lying down of {_cat} to false" | ||
}) | ||
@Since("2.8") | ||
public class CondIsCatLyingDown extends EntityCondition<Cat> { | ||
|
||
static { | ||
register(CondIsCatLyingDown.class, "[cat] lying down", "entities"); | ||
} | ||
|
||
@Override | ||
protected boolean run(Cat cat) { | ||
return cat.isLyingDown(); | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/lol/aabss/skuishy/elements/entities/expressions/ExprCatHeadUp.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,35 @@ | ||
package lol.aabss.skuishy.elements.entities.expressions; | ||
|
||
import ch.njol.skript.classes.Changer; | ||
import ch.njol.skript.doc.Description; | ||
import ch.njol.skript.doc.Examples; | ||
import ch.njol.skript.doc.Name; | ||
import ch.njol.skript.doc.Since; | ||
import lol.aabss.skuishy.other.skript.EntityExpression; | ||
import org.bukkit.entity.Cat; | ||
import org.jetbrains.annotations.Nullable; | ||
|
||
@Name("Cat - Head Up") | ||
@Description("Gets/sets the head up state of a cat.") | ||
@Examples({ | ||
"set head up of {_cat} to true" | ||
}) | ||
@Since("2.8") | ||
public class ExprCatHeadUp extends EntityExpression<Cat, Boolean> { | ||
|
||
static { | ||
register(ExprCatHeadUp.class, Boolean.class, "[cat] head up [state|mode]", "entities"); | ||
} | ||
|
||
@Override | ||
public Boolean get(Cat cat) { | ||
return cat.isHeadUp(); | ||
} | ||
|
||
@Override | ||
public void change(Cat cat, @Nullable Boolean aBoolean, Changer.ChangeMode mode) { | ||
if (aBoolean != null && mode == Changer.ChangeMode.SET) { | ||
cat.setHeadUp(aBoolean); | ||
} | ||
} | ||
} |
35 changes: 35 additions & 0 deletions
35
src/main/java/lol/aabss/skuishy/elements/entities/expressions/ExprCatLyingDown.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,35 @@ | ||
package lol.aabss.skuishy.elements.entities.expressions; | ||
|
||
import ch.njol.skript.classes.Changer; | ||
import ch.njol.skript.doc.Description; | ||
import ch.njol.skript.doc.Examples; | ||
import ch.njol.skript.doc.Name; | ||
import ch.njol.skript.doc.Since; | ||
import lol.aabss.skuishy.other.skript.EntityExpression; | ||
import org.bukkit.entity.Cat; | ||
import org.jetbrains.annotations.Nullable; | ||
|
||
@Name("Cat - Lying Down") | ||
@Description("Gets/sets the lying down state of a cat.") | ||
@Examples({ | ||
"set lying down of {_cat} to true" | ||
}) | ||
@Since("2.8") | ||
public class ExprCatLyingDown extends EntityExpression<Cat, Boolean> { | ||
|
||
static { | ||
register(ExprCatLyingDown.class, Boolean.class, "[cat] lying down [state|mode]", "entities"); | ||
} | ||
|
||
@Override | ||
public Boolean get(Cat cat) { | ||
return cat.isLyingDown(); | ||
} | ||
|
||
@Override | ||
public void change(Cat cat, @Nullable Boolean aBoolean, Changer.ChangeMode mode) { | ||
if (aBoolean != null && mode == Changer.ChangeMode.SET) { | ||
cat.setLyingDown(aBoolean); | ||
} | ||
} | ||
} |
36 changes: 36 additions & 0 deletions
36
src/main/java/lol/aabss/skuishy/elements/entities/expressions/ExprCatVariant.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,36 @@ | ||
package lol.aabss.skuishy.elements.entities.expressions; | ||
|
||
import ch.njol.skript.classes.Changer; | ||
import ch.njol.skript.doc.Description; | ||
import ch.njol.skript.doc.Examples; | ||
import ch.njol.skript.doc.Name; | ||
import ch.njol.skript.doc.Since; | ||
import lol.aabss.skuishy.other.CatVariant; | ||
import lol.aabss.skuishy.other.skript.EntityExpression; | ||
import org.bukkit.entity.Cat; | ||
import org.jetbrains.annotations.Nullable; | ||
|
||
@Name("Cat - Variant") | ||
@Description("Gets/sets the variant of an cat.") | ||
@Examples({ | ||
"set cat variant of {_cat} to tabby" | ||
}) | ||
@Since("2.8") | ||
public class ExprCatVariant extends EntityExpression<Cat, CatVariant> { | ||
|
||
static { | ||
register(ExprCatVariant.class, CatVariant.class, "cat (variant|type)", "entities"); | ||
} | ||
|
||
@Override | ||
public CatVariant get(Cat cat) { | ||
return CatVariant.fromBukkit(cat.getCatType()); | ||
} | ||
|
||
@Override | ||
public void change(Cat cat, @Nullable CatVariant type, Changer.ChangeMode mode) { | ||
if (type != null && mode == Changer.ChangeMode.SET) { | ||
cat.setCatType(type.toBukkit()); | ||
} | ||
} | ||
} |
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,37 @@ | ||
package lol.aabss.skuishy.other; | ||
|
||
import com.google.common.base.Preconditions; | ||
import org.bukkit.NamespacedKey; | ||
import org.bukkit.Registry; | ||
import org.bukkit.entity.Cat; | ||
|
||
public enum CatVariant { | ||
TABBY("tabby"), | ||
BLACK("black"), | ||
RED("red"), | ||
SIAMESE("siamese"), | ||
BRITISH_SHORTHAIR("british_shorthair"), | ||
CALICO("calico"), | ||
PERSIAN("persian"), | ||
RAGDOLL("ragdoll"), | ||
WHITE("white"), | ||
JELLIE("jellie"), | ||
ALL_BLACK("all_black"); | ||
|
||
private final String key; | ||
|
||
CatVariant(String key) { | ||
this.key = key; | ||
} | ||
|
||
public Cat.Type toBukkit(){ | ||
NamespacedKey namespacedKey = NamespacedKey.minecraft(key); | ||
Cat.Type type = Registry.CAT_VARIANT.get(namespacedKey); | ||
Preconditions.checkNotNull(type, "No cat type found for %s. This is a bug.", namespacedKey); | ||
return type; | ||
} | ||
|
||
public static CatVariant fromBukkit(Cat.Type bukkit) { | ||
return CatVariant.valueOf(bukkit.key().value().toUpperCase()); | ||
} | ||
} |
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