Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 9e7b538

Browse files
committed
Prepare for Release
1 parent faf93b5 commit 9e7b538

26 files changed

+1005
-87
lines changed

build.gradle

Lines changed: 51 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
1+
import org.apache.tools.ant.filters.ReplaceTokens
2+
13
plugins {
4+
id 'com.github.johnrengelman.shadow' version '8.1.1'
5+
id 'eclipse'
26
id 'java'
37
}
48

9+
compileJava.options.encoding = 'Cp1252'
10+
compileTestJava.options.encoding = 'Cp1252'
11+
12+
compileJava {
13+
sourceCompatibility = '1.17'
14+
targetCompatibility = '1.17'
15+
}
16+
517
group = 'me.Asleepp'
618
version = '1.0'
719

@@ -15,10 +27,26 @@ repositories {
1527
name = "sonatype"
1628
url = "https://oss.sonatype.org/content/groups/public/"
1729
}
30+
// Skript
31+
maven {
32+
name = "Skript"
33+
url = 'https://repo.skriptlang.org/releases'
34+
}
35+
// ItemsAdder
36+
maven {
37+
name = "ItemsAdder"
38+
url = 'https://jitpack.io'
39+
40+
}
1841
}
1942

2043
dependencies {
21-
compileOnly "io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT"
44+
compileOnly "io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT"
45+
compileOnly (group: 'com.github.SkriptLang', name: 'Skript', version: '2.7.1') {
46+
transitive = false
47+
}
48+
compileOnly 'com.github.LoneDev6:API-ItemsAdder:3.6.1'
49+
2250
}
2351

2452
def targetJavaVersion = 17
@@ -39,11 +67,28 @@ tasks.withType(JavaCompile).configureEach {
3967
}
4068
}
4169

70+
build {
71+
dependsOn(shadowJar)
72+
tasks.withType(JavaCompile).tap {
73+
configureEach {
74+
options.compilerArgs.add("-Xlint:unchecked")
75+
options.compilerArgs.add("-Xlint:deprecation")
76+
}
77+
}
78+
}
79+
4280
processResources {
43-
def props = [version: version]
44-
inputs.properties props
45-
filteringCharset 'UTF-8'
46-
filesMatching('plugin.yml') {
47-
expand props
81+
filter ReplaceTokens, tokens: ["version": project.version]
82+
}
83+
84+
85+
shadowJar {
86+
dependencies {
87+
include(dependency('org.bstats:bstats-bukkit'))
88+
include(dependency('org.bstats:bstats-base'))
4889
}
90+
relocate 'org.bstats', 'me.example.addontutorial.bstats'
91+
configurations = [project.configurations.shadow]
92+
archiveVersion = project.property("version")
93+
minimize()
4994
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,7 @@
1+
distributionBase=GRADLE_USER_HOME
2+
distributionPath=wrapper/dists
13
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
4+
networkTimeout=10000
5+
validateDistributionUrl=true
6+
zipStoreBase=GRADLE_USER_HOME
7+
zipStorePath=wrapper/dists
Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,45 @@
1-
package me.asleepp.skript_itemsadder.elements.conditions;public class CondIsCustomBlock {
1+
package me.asleepp.skript_itemsadder.elements.conditions;
2+
3+
import ch.njol.skript.Skript;
4+
import ch.njol.skript.lang.Condition;
5+
import ch.njol.skript.lang.Expression;
6+
import ch.njol.skript.lang.SkriptParser;
7+
import ch.njol.util.Kleenean;
8+
import dev.lone.itemsadder.api.CustomBlock;
9+
import dev.lone.itemsadder.api.CustomStack;
10+
import org.bukkit.Material;
11+
import org.bukkit.block.Block;
12+
import org.bukkit.event.Event;
13+
import org.bukkit.inventory.ItemStack;
14+
15+
import javax.annotation.Nullable;
16+
17+
public class CondIsCustomBlock extends Condition {
18+
private Expression<Block> block;
19+
20+
static {
21+
Skript.registerCondition(CondIsCustomBlock.class, "%block% (is|are) ([a|an]) (custom|ia|itemsadder) block");
22+
}
23+
24+
@Override
25+
public boolean check(Event e) {
26+
Block b = block.getSingle(e);
27+
if(b == null)
28+
return false;
29+
CustomBlock customBlock = CustomBlock.byAlreadyPlaced(b);
30+
return customBlock != null;
31+
}
32+
33+
34+
@Override
35+
public String toString(@Nullable Event e, boolean debug) {
36+
return block.toString(e, debug) + " is an ItemsAdder block";
37+
}
38+
39+
@SuppressWarnings("unchecked")
40+
@Override
41+
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
42+
block = (Expression<Block>) exprs[0];
43+
return true;
44+
}
245
}
Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,43 @@
1-
package me.asleepp.skript_itemsadder.elements.conditions;public class CondIsCustomEntity {
2-
}
1+
package me.asleepp.skript_itemsadder.elements.conditions;
2+
3+
import ch.njol.skript.Skript;
4+
import ch.njol.skript.lang.Condition;
5+
import ch.njol.skript.lang.Expression;
6+
import ch.njol.skript.lang.SkriptParser;
7+
import ch.njol.util.Kleenean;
8+
import dev.lone.itemsadder.api.CustomEntity;
9+
import org.bukkit.entity.Entity;
10+
import org.bukkit.event.Event;
11+
12+
import javax.annotation.Nullable;
13+
14+
public class CondIsCustomEntity extends Condition {
15+
16+
private Expression<Entity> entities;
17+
18+
19+
static {
20+
Skript.registerCondition(CondIsCustomEntity.class, new String[] {"%entities% (is|are) [(a|an)] (custom|ia|itemsadder) entity"});
21+
}
22+
@Override
23+
public boolean check(Event e) {
24+
for (Entity entity : entities.getArray(e)) {
25+
if (!CustomEntity.isCustomEntity(entity)) {
26+
return false;
27+
}
28+
}
29+
return true;
30+
}
31+
32+
@Override
33+
public String toString(@Nullable Event e, boolean debug) {
34+
return entities.toString(e, debug) + " is an ItemsAdder entity";
35+
}
36+
37+
@SuppressWarnings("unchecked")
38+
@Override
39+
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
40+
entities = (Expression<Entity>) exprs[0];
41+
return true;
42+
}
43+
}
Lines changed: 28 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,47 @@
1-
package me.asleepp.skript_itemsadder.elements.expressions;
1+
package me.asleepp.skript_itemsadder.elements.conditions;
22

3+
import ch.njol.skript.Skript;
4+
import ch.njol.skript.aliases.ItemType;
35
import ch.njol.skript.lang.Condition;
46
import ch.njol.skript.lang.Expression;
57
import ch.njol.skript.lang.SkriptParser;
68
import ch.njol.util.Kleenean;
79
import org.bukkit.event.Event;
10+
import org.bukkit.inventory.ItemStack;
11+
import dev.lone.itemsadder.api.CustomStack;
12+
13+
import javax.annotation.Nullable;
14+
815

916
public class CondIsCustomItem extends Condition {
10-
Expression itemType;
17+
18+
private Expression<ItemType> item;
19+
20+
static{
21+
Skript.registerCondition(CondIsCustomItem.class, new String[] {"%itemtype% (is|are) [(a|an)] (custom|ia|itemsadder) item"});
22+
}
23+
1124
@Override
1225
public boolean check(Event e) {
13-
return false;
26+
ItemType itemType = item.getSingle(e);
27+
if(itemType == null)
28+
return false;
29+
ItemStack itemStack = itemType.getRandom();
30+
if(itemStack == null)
31+
return false;
32+
CustomStack customStack = CustomStack.byItemStack(itemStack);
33+
return customStack != null;
1434
}
1535

1636
@Override
17-
public String toString(Event e, boolean debug) {
18-
return null;
37+
public String toString(@Nullable Event e, boolean debug) {
38+
return item.toString(e, debug) + " is a custom item";
1939
}
2040

41+
@SuppressWarnings("unchecked")
2142
@Override
2243
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
23-
return false;
44+
item = (Expression<ItemType>) exprs[0];
45+
return true;
2446
}
2547
}
Lines changed: 52 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,53 @@
1-
package me.asleepp.skript_itemsadder.elements.effects;public class EffPlaceBlock {
1+
package me.asleepp.skript_itemsadder.elements.effects;
2+
3+
import ch.njol.skript.Skript;
4+
import ch.njol.skript.lang.Effect;
5+
import ch.njol.skript.lang.Expression;
6+
import ch.njol.skript.lang.SkriptParser;
7+
import ch.njol.util.Kleenean;
8+
import dev.lone.itemsadder.api.CustomBlock;
9+
import org.bukkit.Location;
10+
import org.bukkit.event.Event;
11+
12+
import javax.annotation.Nullable;
13+
14+
public class EffPlaceBlock extends Effect {
15+
private Expression<Location> locationExpr;
16+
private Expression<String> customBlockIdExpr;
17+
18+
static {
19+
Skript.registerEffect(EffPlaceBlock.class, new String[] {"(set|place) block at %locations% to (custom|ia|itemsadder) block %string%"});
20+
}
21+
22+
@Override
23+
protected void execute(Event e) {
24+
Location[] locations = locationExpr.getAll(e);
25+
String customBlockId = customBlockIdExpr.getSingle(e);
26+
27+
if (locations == null || customBlockId == null) {
28+
return;
29+
}
30+
31+
for (Location location : locations) {
32+
CustomBlock customBlock = CustomBlock.getInstance(customBlockId);
33+
if (customBlock != null) {
34+
customBlock.place(location);
35+
}
36+
}
37+
}
38+
39+
40+
@Override
41+
public String toString(@Nullable Event e, boolean debug) {
42+
return "place custom block at location";
43+
}
44+
@SuppressWarnings("unchecked")
45+
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
46+
locationExpr = (Expression<Location>) exprs[0];
47+
if (exprs.length > 1 && exprs[1] != null) {
48+
customBlockIdExpr = (Expression<String>) exprs[1];
49+
}
50+
return true;
51+
}
52+
253
}
Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,44 @@
1-
package me.asleepp.skript_itemsadder.elements.effects;public class EffPlayIATotemAnimation {
1+
package me.asleepp.skript_itemsadder.elements.effects;
2+
3+
import ch.njol.skript.Skript;
4+
import ch.njol.skript.lang.Effect;
5+
import ch.njol.skript.lang.Expression;
6+
import ch.njol.skript.lang.SkriptParser;
7+
import ch.njol.util.Kleenean;
8+
import dev.lone.itemsadder.api.ItemsAdder;
9+
import org.bukkit.entity.Player;
10+
import org.bukkit.event.Event;
11+
12+
import javax.annotation.Nullable;
13+
14+
public class EffPlayIATotemAnimation extends Effect {
15+
16+
private Expression<Player> players;
17+
private Expression<String> totem;
18+
19+
static {
20+
Skript.registerEffect(EffSendIAResourcePack.class, "(play|make) (custom|ia|itemsadder) totem [(anim|animation)] %string% to %players%");
21+
}
22+
23+
@Override
24+
protected void execute(Event e) {
25+
Player[] ps = players.getAll(e);
26+
String totemName = totem.getSingle(e);
27+
28+
if (ps != null && totemName != null) {
29+
for (Player p : ps) {
30+
ItemsAdder.playTotemAnimation(p, totemName);
31+
}
32+
}
33+
}
34+
35+
@Override
36+
public String toString(@Nullable Event e, boolean debug) {
37+
return null;
38+
}
39+
40+
@Override
41+
public boolean init(Expression<?>[] exprs, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parseResult) {
42+
return false;
43+
}
244
}

0 commit comments

Comments
 (0)