Commits
DerFrZocker authored and md_5 committed aeaeb359317
5 5 | import net.minecraft.server.level.WorldServer; |
6 6 | |
7 7 | +// CraftBukkit start |
8 8 | +import org.bukkit.Bukkit; |
9 9 | +import org.bukkit.event.world.TimeSkipEvent; |
10 10 | +// CraftBukkit end |
11 11 | + |
12 12 | public class CommandTime { |
13 13 | |
14 14 | public CommandTime() {} |
15 - | |
15 + | |
16 + | } |
17 + | |
18 + | public static int setTime(CommandListenerWrapper commandlistenerwrapper, int i) { |
19 + | - Iterator iterator = commandlistenerwrapper.getServer().getAllLevels().iterator(); |
20 + | + Iterator iterator = com.google.common.collect.Iterators.singletonIterator(commandlistenerwrapper.getLevel()); // CraftBukkit - SPIGOT-6496: Only set the time for the world the command originates in |
21 + | |
16 22 | while (iterator.hasNext()) { |
17 23 | WorldServer worldserver = (WorldServer) iterator.next(); |
18 24 | |
19 25 | - worldserver.setDayTime((long) i); |
20 26 | + // CraftBukkit start |
21 27 | + TimeSkipEvent event = new TimeSkipEvent(worldserver.getWorld(), TimeSkipEvent.SkipReason.COMMAND, i - worldserver.getDayTime()); |
22 28 | + Bukkit.getPluginManager().callEvent(event); |
23 29 | + if (!event.isCancelled()) { |
24 30 | + worldserver.setDayTime((long) worldserver.getDayTime() + event.getSkipAmount()); |
25 31 | + } |
26 32 | + // CraftBukkit end |
27 33 | } |
28 34 | |
29 35 | commandlistenerwrapper.sendSuccess(new ChatMessage("commands.time.set", new Object[]{i}), true); |
30 - | |
36 + | |
37 + | } |
38 + | |
39 + | public static int addTime(CommandListenerWrapper commandlistenerwrapper, int i) { |
40 + | - Iterator iterator = commandlistenerwrapper.getServer().getAllLevels().iterator(); |
41 + | + Iterator iterator = com.google.common.collect.Iterators.singletonIterator(commandlistenerwrapper.getLevel()); // CraftBukkit - SPIGOT-6496: Only set the time for the world the command originates in |
42 + | |
31 43 | while (iterator.hasNext()) { |
32 44 | WorldServer worldserver = (WorldServer) iterator.next(); |
33 45 | |
34 46 | - worldserver.setDayTime(worldserver.getDayTime() + (long) i); |
35 47 | + // CraftBukkit start |
36 48 | + TimeSkipEvent event = new TimeSkipEvent(worldserver.getWorld(), TimeSkipEvent.SkipReason.COMMAND, i); |
37 49 | + Bukkit.getPluginManager().callEvent(event); |
38 50 | + if (!event.isCancelled()) { |
39 51 | + worldserver.setDayTime(worldserver.getDayTime() + event.getSkipAmount()); |
40 52 | + } |