Skip to content

Commit 4fed72a

Browse files
authored
Merge pull request #4865 from AyhamAl-Ali/dev-2.6
🚀 Update Dev 2.6
2 parents 2c0b88b + 0915ae8 commit 4fed72a

Some content is hidden

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

55 files changed

+611
-168
lines changed

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ allprojects {
2727

2828
dependencies {
2929
shadow group: 'io.papermc', name: 'paperlib', version: '1.0.6'
30-
implementation group: 'io.papermc.paper', name: 'paper-api', version: '1.17.1-R0.1-SNAPSHOT'
30+
implementation group: 'io.papermc.paper', name: 'paper-api', version: '1.19-R0.1-SNAPSHOT'
3131
implementation group: 'org.eclipse.jdt', name: 'org.eclipse.jdt.annotation', version: '2.2.600'
3232
implementation group: 'com.google.code.findbugs', name: 'findbugs', version: '3.0.1'
3333
implementation group: 'com.sk89q.worldguard', name: 'worldguard-legacy', version: '7.0.0-SNAPSHOT'
@@ -142,7 +142,7 @@ tasks.create('testNaming') {
142142
// Regression tests
143143
for (def file : project.file('src/test/skript/tests/regressions').listFiles()) {
144144
def name = file.getName()
145-
if (name.toLowerCase() != name) {
145+
if (name.toLowerCase(Locale.ENGLISH) != name) {
146146
throw new InvalidUserDataException('invalid test name: ' + name)
147147
}
148148
}

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
groupid=ch.njol
22
name=skript
3-
version=2.6.2
3+
version=2.6.3
44
jarName=Skript.jar
55
testEnv=paper-1.16.5

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -701,7 +701,7 @@ private static ScriptInfo loadScript(@Nullable Config config) {
701701
if (!SkriptParser.validateLine(event))
702702
continue;
703703

704-
if (event.toLowerCase().startsWith("command ")) {
704+
if (event.toLowerCase(Locale.ENGLISH).startsWith("command ")) {
705705

706706
getParser().setCurrentEvent("command", CommandEvent.class);
707707

@@ -715,7 +715,7 @@ private static ScriptInfo loadScript(@Nullable Config config) {
715715
getParser().deleteCurrentEvent();
716716

717717
continue;
718-
} else if (event.toLowerCase().startsWith("function ")) {
718+
} else if (event.toLowerCase(Locale.ENGLISH).startsWith("function ")) {
719719

720720
getParser().setCurrentEvent("function", FunctionEvent.class);
721721

@@ -964,7 +964,7 @@ public static Config loadStructure(Config config) {
964964
if (!SkriptParser.validateLine(event))
965965
continue;
966966

967-
if (event.toLowerCase().startsWith("function ")) {
967+
if (event.toLowerCase(Locale.ENGLISH).startsWith("function ")) {
968968

969969
getParser().setCurrentEvent("function", FunctionEvent.class);
970970

@@ -1163,7 +1163,7 @@ static Trigger loadTrigger(SectionNode node) {
11631163
assert false : node;
11641164
return null;
11651165
}
1166-
if (event.toLowerCase().startsWith("on "))
1166+
if (event.toLowerCase(Locale.ENGLISH).startsWith("on "))
11671167
event = "" + event.substring("on ".length());
11681168

11691169
NonNullPair<SkriptEventInfo<?>, SkriptEvent> parsedEvent =

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,8 @@ public void onPluginDisable(PluginDisableEvent event) {
10901090

10911091
try {
10921092
// Spigot removed the mapping for this method in 1.18, so its back to obfuscated method
1093-
String isRunningMethod = Skript.isRunningMinecraft(1, 18) ? "v" : "isRunning";
1093+
// 1.19 mapping is u and 1.18 is v
1094+
String isRunningMethod = Skript.isRunningMinecraft(1, 19) ? "u" : Skript.isRunningMinecraft(1, 18) ? "v" :"isRunning";
10941095
IS_RUNNING = MC_SERVER.getClass().getMethod(isRunningMethod);
10951096
} catch (NoSuchMethodException e) {
10961097
throw new RuntimeException(e);

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ public boolean onCommand(@Nullable CommandSender sender, @Nullable Command comma
184184
}
185185
}
186186
} else if (args[0].equalsIgnoreCase("enable")) {
187-
if (args[1].equals("all")) {
187+
if (args[1].equalsIgnoreCase("all")) {
188188
try {
189189
info(sender, "enable.all.enabling");
190190
File[] files = toggleScripts(new File(Skript.getInstance().getDataFolder(), Skript.SCRIPTSFOLDER), true).toArray(new File[0]);
@@ -264,7 +264,7 @@ public boolean onCommand(@Nullable CommandSender sender, @Nullable Command comma
264264
}
265265
}
266266
} else if (args[0].equalsIgnoreCase("disable")) {
267-
if (args[1].equals("all")) {
267+
if (args[1].equalsIgnoreCase("all")) {
268268
ScriptLoader.disableScripts();
269269
try {
270270
toggleScripts(new File(Skript.getInstance().getDataFolder(), Skript.SCRIPTSFOLDER), false);
@@ -318,7 +318,7 @@ public boolean onCommand(@Nullable CommandSender sender, @Nullable Command comma
318318
Skript.info(sender, "" + SkriptUpdater.m_internal_error);
319319
return true;
320320
}
321-
if (args[1].equals("check")) {
321+
if (args[1].equalsIgnoreCase("check")) {
322322
updater.updateCheck(sender);
323323
} else if (args[1].equalsIgnoreCase("changes")) {
324324
updater.changesCheck(sender);
@@ -328,6 +328,7 @@ public boolean onCommand(@Nullable CommandSender sender, @Nullable Command comma
328328
} else if (args[0].equalsIgnoreCase("info")) {
329329
info(sender, "info.aliases");
330330
info(sender, "info.documentation");
331+
info(sender, "info.tutorials");
331332
info(sender, "info.server", Bukkit.getVersion());
332333
info(sender, "info.version", Skript.getVersion());
333334
info(sender, "info.addons", Skript.getAddons().isEmpty() ? "None" : "");

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ public List<String> onTabComplete(CommandSender sender, Command command, String
5656
// Live update, this will get all old and new (even not loaded) scripts
5757
Files.walk(scripts.toPath())
5858
.map(Path::toFile)
59-
.filter(f -> (!f.isDirectory() && f.getName().toLowerCase().endsWith(".sk")) ||
59+
.filter(f -> (!f.isDirectory() && StringUtils.endsWithIgnoreCase(f.getName(), ".sk")) ||
6060
f.isDirectory()) // filter folders and skript files only
6161
.filter(f -> { // Filtration for enable, disable and reload
6262
if (args[0].equalsIgnoreCase("enable"))

src/main/java/ch/njol/skript/aliases/Aliases.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.nio.file.Path;
2929
import java.nio.file.Paths;
3030
import java.util.HashMap;
31+
import java.util.Locale;
3132
import java.util.Map;
3233
import java.util.regex.Matcher;
3334
import java.util.regex.Pattern;
@@ -269,7 +270,7 @@ public static ItemType parseItemType(String s) {
269270
t.setAmount(1);
270271
}
271272

272-
String lc = s.toLowerCase();
273+
String lc = s.toLowerCase(Locale.ENGLISH);
273274
String of = Language.getSpaced("enchantments.of").toLowerCase();
274275
int c = -1;
275276
outer: while ((c = lc.indexOf(of, c + 1)) != -1) {
@@ -335,7 +336,7 @@ private static ItemType parseType(final String s, final ItemType t, final boolea
335336
@Nullable
336337
private static ItemType getAlias(final String s) {
337338
ItemType i;
338-
String lc = "" + s.toLowerCase();
339+
String lc = "" + s.toLowerCase(Locale.ENGLISH);
339340
final Matcher m = p_any.matcher(lc);
340341
if (m.matches()) {
341342
lc = "" + m.group(m.groupCount());

src/main/java/ch/njol/skript/aliases/AliasesParser.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.util.HashMap;
2424
import java.util.LinkedHashMap;
2525
import java.util.List;
26+
import java.util.Locale;
2627
import java.util.Map;
2728
import java.util.function.Function;
2829

@@ -682,7 +683,7 @@ protected void loadSingleAlias(Map<String, Variation> variations, String item) {
682683
Skript.warning(m_empty_alias.toString());
683684
} else {
684685
// Intern id to save some memory
685-
id = id.toLowerCase().intern();
686+
id = id.toLowerCase(Locale.ENGLISH).intern();
686687
assert id != null;
687688
try {
688689
// Create singular and plural forms of the alias

src/main/java/ch/njol/skript/classes/data/BukkitEventValues.java

Lines changed: 43 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,24 @@
1818
*/
1919
package ch.njol.skript.classes.data;
2020

21-
import java.util.List;
22-
21+
import ch.njol.skript.Skript;
22+
import ch.njol.skript.aliases.Aliases;
23+
import ch.njol.skript.aliases.ItemType;
24+
import ch.njol.skript.command.CommandEvent;
25+
import ch.njol.skript.events.EvtMoveOn;
26+
import ch.njol.skript.events.bukkit.ScriptEvent;
27+
import ch.njol.skript.events.bukkit.SkriptStartEvent;
28+
import ch.njol.skript.events.bukkit.SkriptStopEvent;
29+
import ch.njol.skript.registrations.EventValues;
30+
import ch.njol.skript.util.BlockStateBlock;
31+
import ch.njol.skript.util.BlockUtils;
32+
import ch.njol.skript.util.DelayedChangeBlock;
33+
import ch.njol.skript.util.Direction;
34+
import ch.njol.skript.util.Getter;
35+
import ch.njol.skript.util.slot.InventorySlot;
36+
import ch.njol.skript.util.slot.Slot;
37+
import com.destroystokyo.paper.event.entity.ProjectileCollideEvent;
38+
import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
2339
import org.bukkit.Bukkit;
2440
import org.bukkit.Chunk;
2541
import org.bukkit.FireworkEffect;
@@ -126,25 +142,7 @@
126142
import org.bukkit.potion.PotionEffectType;
127143
import org.eclipse.jdt.annotation.Nullable;
128144

129-
import com.destroystokyo.paper.event.entity.ProjectileCollideEvent;
130-
import com.destroystokyo.paper.event.player.PlayerArmorChangeEvent;
131-
132-
import ch.njol.skript.Skript;
133-
import ch.njol.skript.aliases.Aliases;
134-
import ch.njol.skript.aliases.ItemType;
135-
import ch.njol.skript.command.CommandEvent;
136-
import ch.njol.skript.events.EvtMoveOn;
137-
import ch.njol.skript.events.bukkit.ScriptEvent;
138-
import ch.njol.skript.events.bukkit.SkriptStartEvent;
139-
import ch.njol.skript.events.bukkit.SkriptStopEvent;
140-
import ch.njol.skript.registrations.EventValues;
141-
import ch.njol.skript.util.BlockStateBlock;
142-
import ch.njol.skript.util.BlockUtils;
143-
import ch.njol.skript.util.DelayedChangeBlock;
144-
import ch.njol.skript.util.Direction;
145-
import ch.njol.skript.util.Getter;
146-
import ch.njol.skript.util.slot.InventorySlot;
147-
import ch.njol.skript.util.slot.Slot;
145+
import java.util.List;
148146

149147
/**
150148
* @author Peter Güttinger
@@ -156,7 +154,8 @@ public BukkitEventValues() {}
156154

157155
private static final boolean offHandSupport = Skript.isRunningMinecraft(1, 9);
158156
private static final boolean NAMESPACE_SUPPORT = Skript.classExists("org.bukkit.NamespacedKey");
159-
157+
private static final ItemStack AIR_IS = new ItemStack(Material.AIR);
158+
160159
static {
161160

162161
// === WorldEvents ===
@@ -1040,20 +1039,24 @@ public Player get(BlockFertilizeEvent event) {
10401039
}
10411040
}, 0);
10421041
}
1043-
// CraftItemEvent REMIND maybe re-add this when Skript parser is reworked?
1044-
// EventValues.registerEventValue(CraftItemEvent.class, ItemStack.class, new Getter<ItemStack, CraftItemEvent>() {
1045-
// @Override
1046-
// @Nullable
1047-
// public ItemStack get(final CraftItemEvent e) {
1048-
// return e.getRecipe().getResult();
1049-
// }
1050-
// }, 0);
10511042
// PrepareItemCraftEvent
10521043
EventValues.registerEventValue(PrepareItemCraftEvent.class, Slot.class, new Getter<Slot, PrepareItemCraftEvent>() {
10531044
@Override
1054-
@Nullable
10551045
public Slot get(final PrepareItemCraftEvent e) {
1056-
return new InventorySlot(e.getInventory(), 9);
1046+
return new InventorySlot(e.getInventory(), 0);
1047+
}
1048+
}, 0);
1049+
EventValues.registerEventValue(PrepareItemCraftEvent.class, ItemStack.class, new Getter<ItemStack, PrepareItemCraftEvent>() {
1050+
@Override
1051+
public ItemStack get(PrepareItemCraftEvent e) {
1052+
ItemStack item = e.getInventory().getResult();
1053+
return item != null ? item : AIR_IS;
1054+
}
1055+
}, 0);
1056+
EventValues.registerEventValue(PrepareItemCraftEvent.class, Inventory.class, new Getter<Inventory, PrepareItemCraftEvent>() {
1057+
@Override
1058+
public Inventory get(PrepareItemCraftEvent e) {
1059+
return e.getInventory();
10571060
}
10581061
}, 0);
10591062
EventValues.registerEventValue(PrepareItemCraftEvent.class, Player.class, new Getter<Player, PrepareItemCraftEvent>() {
@@ -1092,6 +1095,14 @@ public String get(PrepareItemCraftEvent e) {
10921095
}
10931096
}, 0);
10941097
}
1098+
// CraftItemEvent
1099+
EventValues.registerEventValue(CraftItemEvent.class, ItemStack.class, new Getter<ItemStack, CraftItemEvent>() {
1100+
@Override
1101+
@Nullable
1102+
public ItemStack get(CraftItemEvent e) {
1103+
return e.getRecipe().getResult();
1104+
}
1105+
}, 0);
10951106
//InventoryOpenEvent
10961107
EventValues.registerEventValue(InventoryOpenEvent.class, Player.class, new Getter<Player, InventoryOpenEvent>() {
10971108
@Override

0 commit comments

Comments
 (0)