Skip to content

Commit 3c091bf

Browse files
Merge branch 'dev/feature' into feature/beta-type-properties
2 parents 4250d1a + 96b8309 commit 3c091bf

107 files changed

Lines changed: 6319 additions & 2385 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,6 @@
7070

7171
# EntityData
7272
/src/main/java/ch/njol/skript/entity @Absolutionism @skriptlang/core-developers
73+
74+
# Particles/Effects
75+
/src/main/java/org/skriptlang/skript/bukkit/particles @sovdeeth @skriptlang/core-developers

src/main/java/ch/njol/skript/Skript.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,11 @@
9999
import org.skriptlang.skript.bukkit.fishing.FishingModule;
100100
import org.skriptlang.skript.bukkit.furnace.FurnaceModule;
101101
import org.skriptlang.skript.bukkit.input.InputModule;
102+
import org.skriptlang.skript.bukkit.interactions.InteractionModule;
102103
import org.skriptlang.skript.bukkit.itemcomponents.ItemComponentModule;
103104
import org.skriptlang.skript.bukkit.log.runtime.BukkitRuntimeErrorConsumer;
104105
import org.skriptlang.skript.bukkit.loottables.LootTableModule;
106+
import org.skriptlang.skript.bukkit.particles.ParticleModule;
105107
import org.skriptlang.skript.bukkit.potion.PotionModule;
106108
import org.skriptlang.skript.bukkit.registration.BukkitSyntaxInfos;
107109
import org.skriptlang.skript.bukkit.tags.TagModule;
@@ -449,7 +451,7 @@ public void onEnable() {
449451
if (!aliasesFolder.mkdirs())
450452
throw new IOException("Could not create the directory " + aliasesFolder);
451453
}
452-
454+
453455
f = new ZipFile(getFile());
454456
for (ZipEntry e : new EnumerationIterable<ZipEntry>(f.entries())) {
455457
if (e.isDirectory())
@@ -605,8 +607,10 @@ public void onEnable() {
605607
new BrewingModule(),
606608
new EntityModule(),
607609
new DamageSourceModule(),
610+
new InteractionModule(),
608611
new ItemComponentModule(),
609-
new PotionModule());
612+
new PotionModule(),
613+
new ParticleModule());
610614
} catch (final Exception e) {
611615
exception(e, "Could not load required .class files: " + e.getLocalizedMessage());
612616
setEnabled(false);

src/main/java/ch/njol/skript/classes/EnumParser.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public class EnumParser<E extends Enum<E>> extends PatternedParser<E> implements
2020
private final Class<E> enumClass;
2121
private final String languageNode;
2222
private String[] names;
23-
private final Map<String, E> parseMap = new HashMap<>();
23+
protected final Map<String, E> parseMap = new HashMap<>();
2424
private String[] patterns;
2525

2626
/**
@@ -65,11 +65,17 @@ void refresh() {
6565
String first = strippedOption.getFirst();
6666
Integer second = strippedOption.getSecond();
6767

68+
NonNullPair<String, String> singlePlural = Noun.getPlural(first);
69+
String single = singlePlural.getFirst();
70+
String plural = singlePlural.getSecond();
71+
6872
if (names[ordinal] == null) { // Add to name array if needed
69-
names[ordinal] = first;
73+
names[ordinal] = single;
7074
}
7175

72-
parseMap.put(first, constant);
76+
parseMap.put(single, constant);
77+
if (!plural.isEmpty())
78+
parseMap.put(plural, constant);
7379
if (second != -1) { // There is a gender present
7480
parseMap.put(Noun.getArticleWithSpace(second, Language.F_INDEFINITE_ARTICLE) + first, constant);
7581
}

src/main/java/ch/njol/skript/classes/Serializer.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@
1616
import ch.njol.yggdrasil.Fields;
1717
import ch.njol.yggdrasil.YggdrasilSerializer;
1818

19-
/**
20-
* @author Peter Güttinger
21-
*/
2219
public abstract class Serializer<T> extends YggdrasilSerializer<T> {
2320

2421
@Nullable
@@ -79,10 +76,12 @@ public <E extends T> E newInstance(final Class<E> c) {
7976
*/
8077
@Override
8178
public abstract Fields serialize(T o) throws NotSerializableException;
82-
79+
8380
@Override
84-
public abstract void deserialize(T o, Fields f) throws StreamCorruptedException, NotSerializableException;
85-
81+
public void deserialize(T o, Fields f) throws StreamCorruptedException, NotSerializableException {
82+
throw new SkriptAPIException("deserialize(Object, Fields) has not been overridden in " + getClass() + " (serializer of " + info + ")");
83+
}
84+
8685
/**
8786
* Not currently used (everything happens on Bukkit's main thread).
8887
*

0 commit comments

Comments
 (0)