Skip to content

Commit 88a71f7

Browse files
committed
Merge branch 'refs/heads/master' into msgtoggle
2 parents ffd29c5 + d2409af commit 88a71f7

33 files changed

+693
-167
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,15 +81,15 @@ For Maven projects use:
8181

8282
For Gradle projects use:
8383
```kts
84-
compileOnly("com.eternalcode:eternalcore-api:1.5.0")
84+
compileOnly("com.eternalcode:eternalcore-api:1.5.1")
8585
```
8686

8787
For Maven projects use:
8888
```xml
8989
<dependency>
9090
<groupId>com.eternalcode</groupId>
9191
<artifactId>eternalcore-api</artifactId>
92-
<version>1.5.0</version>
92+
<version>1.5.1</version>
9393
<scope>provided</scope>
9494
</dependency>
9595
```

buildSrc/src/main/kotlin/Versions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ object Versions {
1515
const val ADVENTURE_PLATFORM = "4.3.4"
1616
const val ADVENTURE_TEXT_MINIMESSAGE = "4.18.0"
1717
const val ADVENTURE_PLATFORM_FACET = "4.3.4"
18-
const val CDN_CONFIGS = "1.14.5"
18+
const val CDN_CONFIGS = "1.14.6"
1919

2020
const val MARIA_DB = "3.5.1"
2121
const val POSTGRESQL = "42.7.4"

buildSrc/src/main/kotlin/eternalcode-java.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group = "com.eternalcode"
7-
version = "1.5.0"
7+
version = "1.5.1"
88

99
checkstyle {
1010
toolVersion = "10.21.1"

buildSrc/src/main/kotlin/eternalcore-publish.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ plugins {
44
}
55

66
group = "com.eternalcode"
7-
version = "1.5.0"
7+
version = "1.5.1"
88

99
java {
1010
withSourcesJar()

eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/Warp.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,26 @@
22

33
import org.bukkit.Location;
44

5+
import java.util.List;
6+
import org.bukkit.permissions.Permissible;
7+
58
public interface Warp {
69

710
Location getLocation();
811

912
String getName();
1013

14+
List<String> getPermissions();
15+
16+
default boolean hasPermissions(Permissible permissible) {
17+
List<String> permissions = this.getPermissions();
18+
if (permissions.isEmpty()) {
19+
return true;
20+
}
21+
22+
return permissions
23+
.stream()
24+
.anyMatch(permission -> permissible.hasPermission(permission));
25+
}
26+
1127
}

eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/WarpService.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,23 @@
44

55
import java.util.Collection;
66
import java.util.Optional;
7+
import org.jetbrains.annotations.ApiStatus.Experimental;
78

89
public interface WarpService {
910

1011
Warp createWarp(String name, Location location);
1112

1213
void removeWarp(String warp);
1314

14-
boolean warpExists(String name);
15+
@Experimental
16+
Warp addPermissions(String warp, String... permissions);
1517

16-
Optional<Warp> findWarp(String name);
18+
@Experimental
19+
Warp removePermissions(String warp, String... permissions);
20+
21+
boolean isExist(String name);
1722

18-
Collection<String> getNamesOfWarps();
23+
Optional<Warp> findWarp(String name);
1924

20-
boolean hasWarps();
25+
Collection<Warp> getWarps();
2126
}

eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/PreWarpTeleportEvent.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
package com.eternalcode.core.feature.warp.event;
22

33
import com.eternalcode.core.feature.warp.Warp;
4+
import com.google.common.base.Preconditions;
5+
import java.time.Duration;
6+
import org.bukkit.Location;
47
import org.bukkit.entity.Player;
58
import org.bukkit.event.Cancellable;
69
import org.bukkit.event.Event;
710
import org.bukkit.event.HandlerList;
11+
import org.jetbrains.annotations.Nullable;
812

913
/**
1014
* Called before teleportation to warp.
@@ -16,12 +20,15 @@ public class PreWarpTeleportEvent extends Event implements Cancellable {
1620
private final Player player;
1721
private Warp warp;
1822
private boolean cancelled;
23+
private Duration teleportTime;
24+
private @Nullable Location destination;
1925

20-
public PreWarpTeleportEvent(Player player, Warp warp) {
26+
public PreWarpTeleportEvent(Player player, Warp warp, Duration teleportTime) {
2127
super(false);
2228

2329
this.player = player;
2430
this.warp = warp;
31+
this.teleportTime = teleportTime;
2532
}
2633

2734
public Player getPlayer() {
@@ -33,9 +40,28 @@ public Warp getWarp() {
3340
}
3441

3542
public void setWarp(Warp warp) {
43+
Preconditions.checkNotNull(warp, "Warp cannot be null");
3644
this.warp = warp;
3745
}
3846

47+
public Duration getTeleportTime() {
48+
return this.teleportTime;
49+
}
50+
51+
public void setTeleportTime(Duration teleportTime) {
52+
Preconditions.checkNotNull(teleportTime, "Teleport time cannot be null");
53+
this.teleportTime = teleportTime;
54+
}
55+
56+
public Location getDestination() {
57+
return this.destination != null ? this.destination : this.warp.getLocation();
58+
}
59+
60+
public void setDestination(Location destination) {
61+
Preconditions.checkNotNull(destination, "Destination cannot be null");
62+
this.destination = destination;
63+
}
64+
3965
@Override
4066
public boolean isCancelled() {
4167
return this.cancelled;

eternalcore-api/src/main/java/com/eternalcode/core/feature/warp/event/WarpTeleportEvent.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.eternalcode.core.feature.warp.event;
22

33
import com.eternalcode.core.feature.warp.Warp;
4+
import org.bukkit.Location;
45
import org.bukkit.entity.Player;
5-
import org.bukkit.event.Cancellable;
66
import org.bukkit.event.Event;
77
import org.bukkit.event.HandlerList;
88

@@ -15,12 +15,14 @@ public class WarpTeleportEvent extends Event {
1515

1616
private final Player player;
1717
private final Warp warp;
18+
private final Location destination;
1819

19-
public WarpTeleportEvent(Player player, Warp warp) {
20+
public WarpTeleportEvent(Player player, Warp warp, Location destination) {
2021
super(false);
2122

2223
this.player = player;
2324
this.warp = warp;
25+
this.destination = destination;
2426
}
2527

2628
public Player getPlayer() {
@@ -31,6 +33,10 @@ public Warp getWarp() {
3133
return this.warp;
3234
}
3335

36+
public Location getDestination() {
37+
return this.destination;
38+
}
39+
3440
@Override
3541
public HandlerList getHandlers() {
3642
return HANDLER_LIST;

eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/LocationsConfiguration.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.eternalcode.core.configuration.implementation;
22

3+
import com.eternalcode.commons.bukkit.position.Position;
34
import com.eternalcode.core.configuration.ReloadableConfig;
45
import com.eternalcode.core.injector.annotations.component.ConfigurationFile;
5-
import com.eternalcode.commons.bukkit.position.Position;
66
import net.dzikoysk.cdn.entity.Description;
77
import net.dzikoysk.cdn.entity.Exclude;
88
import net.dzikoysk.cdn.source.Resource;
@@ -21,7 +21,8 @@ public class LocationsConfiguration implements ReloadableConfig {
2121
@Description("# This is spawn location, for your own safety, please don't touch it.")
2222
public Position spawn = EMPTY_POSITION;
2323

24-
@Description("# These are warp locations, for your own safety, please don't touch it.")
24+
@Description("# Warps now are stored in warps.yml. This is deprecated.")
25+
@Deprecated
2526
public Map<String, Position> warps = new HashMap<>();
2627

2728
@Description("# This is jail location, for your own safety, please don't touch it.")

eternalcore-core/src/main/java/com/eternalcode/core/configuration/implementation/PluginConfiguration.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,13 @@
55
import com.eternalcode.core.feature.afk.AfkSettings;
66
import com.eternalcode.core.feature.automessage.AutoMessageSettings;
77
import com.eternalcode.core.feature.chat.ChatSettings;
8-
import com.eternalcode.core.feature.jail.JailSettings;
98
import com.eternalcode.core.feature.helpop.HelpOpSettings;
9+
import com.eternalcode.core.feature.jail.JailSettings;
1010
import com.eternalcode.core.feature.randomteleport.RandomTeleportSettingsImpl;
1111
import com.eternalcode.core.feature.spawn.SpawnSettings;
1212
import com.eternalcode.core.injector.annotations.Bean;
1313
import com.eternalcode.core.injector.annotations.component.ConfigurationFile;
1414
import com.eternalcode.core.feature.teleportrequest.TeleportRequestSettings;
15-
import java.util.LinkedHashMap;
16-
import java.util.Set;
1715
import net.dzikoysk.cdn.entity.Contextual;
1816
import net.dzikoysk.cdn.entity.Description;
1917
import net.dzikoysk.cdn.entity.Exclude;
@@ -24,7 +22,9 @@
2422

2523
import java.io.File;
2624
import java.time.Duration;
25+
import java.util.LinkedHashMap;
2726
import java.util.Map;
27+
import java.util.Set;
2828

2929
@ConfigurationFile
3030
public class PluginConfiguration implements ReloadableConfig {
@@ -261,7 +261,7 @@ public Duration repairDelay() {
261261

262262
@Contextual
263263
public static class Format {
264-
public String separator = "&7, ";
264+
public String separator = "<gray>,</gray> ";
265265
}
266266

267267
@Bean
@@ -352,7 +352,6 @@ public static class Warp {
352352

353353
@Description("# Texture of the item (only for PLAYER_HEAD material)")
354354
public String itemTexture = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzk4ODVlODIzZmYxNTkyNjdjYmU4MDkwOTNlMzNhNDc2ZTI3NDliNjU5OGNhNGEyYTgxZWU2OTczODAzZmI2NiJ9fX0=";
355-
356355
}
357356

358357
@Description({ " ", "# Butcher" })

0 commit comments

Comments
 (0)