Skip to content

Commit 5657eb6

Browse files
committed
New release soon (TODO fix some bugs)
1 parent 0bce311 commit 5657eb6

File tree

5 files changed

+38
-11
lines changed

5 files changed

+38
-11
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ public class SkriptCommand implements CommandExecutor {
7878
// .add("set", "Creates a new variable or changes an existing one")
7979
// .add("delete", "Deletes a variable")
8080
// .add("find", "Find variables")
81+
).add(new CommandHelp("timings", Color.DARK_RED)
82+
.add("start")
83+
.add("stop")
8184
).add("help");
8285

8386
private final static ArgsMessage m_reloading = new ArgsMessage(NODE + ".reload.reloading");

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ static void check(final Event e) {
160160
@Nullable
161161
private static Timing timing;
162162

163+
@SuppressWarnings("null")
163164
public static void logEventStart(final Event e) {
164165
if (Timings.enabled())
165166
timing = Timings.of(e.getEventName());

src/main/java/ch/njol/skript/lang/function/FunctionReference.java

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public class FunctionReference<T> {
4545

4646
final String functionName;
4747

48+
@Nullable
4849
private Function<? extends T> function;
4950

5051
private boolean singleUberParam;
@@ -59,7 +60,6 @@ public class FunctionReference<T> {
5960
@Nullable
6061
public final File script;
6162

62-
@SuppressWarnings("null")
6363
public FunctionReference(final String functionName, final @Nullable Node node, @Nullable final File script, @Nullable final Class<? extends T>[] returnTypes, final Expression<?>[] params) {
6464
this.functionName = functionName;
6565
this.node = node;
@@ -78,16 +78,6 @@ public boolean validateFunction(final boolean first) {
7878
else
7979
Skript.error("The function '" + functionName + "' was deleted or renamed, but is still used in other script(s)."
8080
+ " These will continue to use the old version of the function until Skript restarts.");
81-
82-
function = (Function<? extends T>) new Function<Object>("empty_placeholder", new Parameter<?>[0], null, true) {
83-
84-
@Override
85-
@Nullable
86-
public Object[] execute(FunctionEvent e, Object[][] params) {
87-
return null;
88-
}
89-
90-
};
9181
return false;
9282
}
9383
if (newFunc == function)
@@ -176,8 +166,12 @@ public Object[] execute(FunctionEvent e, Object[][] params) {
176166
return true;
177167
}
178168

169+
@SuppressWarnings("null")
179170
@Nullable
180171
protected T[] execute(final Event e) {
172+
if (function == null)
173+
return null;
174+
181175
final Object[][] params = new Object[singleUberParam ? 1 : parameters.length][];
182176
if (singleUberParam && parameters.length > 1) {
183177
final ArrayList<Object> l = new ArrayList<Object>();

src/main/java/ch/njol/skript/timings/TimingReporter.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,19 @@
2121

2222
package ch.njol.skript.timings;
2323

24+
import java.io.File;
25+
import java.io.FileNotFoundException;
26+
import java.io.IOException;
27+
import java.io.PrintWriter;
28+
import java.text.DateFormat;
29+
import java.util.Calendar;
2430
import java.util.HashMap;
2531
import java.util.Iterator;
2632
import java.util.List;
2733
import java.util.Map;
2834
import java.util.Map.Entry;
2935

36+
import ch.njol.skript.Skript;
3037
import ch.njol.skript.lang.Trigger;
3138
import ch.njol.skript.localization.Language;
3239

@@ -35,6 +42,7 @@
3542
*/
3643
public class TimingReporter {
3744

45+
@SuppressWarnings("null")
3846
public static String getReport() {
3947
Map<Object,Timing> timings = Timings.timings;
4048
Map<String,Long> triggers = new HashMap<String,Long>();
@@ -77,4 +85,23 @@ public static String getReport() {
7785

7886
return sb.toString();
7987
}
88+
89+
public static void saveToFile(String str) {
90+
File folder = Skript.getInstance().getDataFolder();
91+
File file = new File(folder + "/timings-" + DateFormat.getTimeInstance().format(System.currentTimeMillis()) + ".log");
92+
if (!file.exists())
93+
try {
94+
file.createNewFile();
95+
} catch (IOException e1) {
96+
e1.printStackTrace();
97+
return;
98+
}
99+
try {
100+
PrintWriter out = new PrintWriter(file);
101+
out.write(str);
102+
out.close();
103+
} catch (FileNotFoundException e) {
104+
e.printStackTrace(); // Can't happen...
105+
}
106+
}
80107
}

src/main/resources/lang/english.lang

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1030,5 +1030,7 @@ io exceptions:
10301030
# -- Timings Reports --
10311031
timings:
10321032
start: "Skript timings for %s seconds:"
1033+
events: "Event times: used time (percent of timing length)
1034+
triggers: "Trigger times: used time (percent of timing length)
10331035

10341036

0 commit comments

Comments
 (0)