Skip to content

Commit 44506d9

Browse files
authored
Merge pull request #86 from BentoBoxWorld/develop
Release 2.2.3
2 parents 286bcec + c18b051 commit 44506d9

File tree

5 files changed

+46
-8
lines changed

5 files changed

+46
-8
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@
5454
<!-- Non-minecraft related dependencies -->
5555
<powermock.version>2.0.9</powermock.version>
5656
<!-- More visible way how to change dependency versions -->
57-
<spigot.version>1.21.3-R0.1-SNAPSHOT</spigot.version>
58-
<bentobox.version>2.7.1-SNAPSHOT</bentobox.version>
57+
<spigot.version>1.21.10-R0.1-SNAPSHOT</spigot.version>
58+
<bentobox.version>3.3.1</bentobox.version>
5959
<!-- Revision variable removes warning about dynamic version -->
6060
<revision>${build.version}-SNAPSHOT</revision>
6161
<!-- Do not change unless you want different name for local builds. -->
6262
<build.number>-LOCAL</build.number>
6363
<!-- This allows to change between versions. -->
64-
<build.version>2.2.2</build.version>
64+
<build.version>2.2.3</build.version>
6565
<!-- SonarCloud -->
6666
<sonar.projectKey>BentoBoxWorld_SkyGrid</sonar.projectKey>
6767
<sonar.organization>bentobox-world</sonar.organization>

src/main/java/world/bentobox/skygrid/Settings.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,9 +111,6 @@ public class Settings implements WorldSettings {
111111
@ConfigEntry(path = "world.end.blocks")
112112
private Map<Material, Integer> endBlocks = new EnumMap<>(Material.class);
113113

114-
@ConfigComment("This option indicates if obsidian platform in the end should be generated")
115-
@ConfigComment("when player enters the end world.")
116-
@ConfigEntry(path = "world.end.create-obsidian-platform", since = "1.16")
117114
private boolean makeEndPortals = true;
118115

119116
/* SkyGrid */

src/main/java/world/bentobox/skygrid/SkyGrid.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import world.bentobox.skygrid.generators.SkyGridBiomeProvider;
1717
import world.bentobox.skygrid.generators.SkyGridGen;
1818
import world.bentobox.skygrid.generators.WorldStyles;
19+
import world.bentobox.skygrid.listeners.EndPortalListener;
1920

2021
/**
2122
* Main SkyGrid class - provides skygrid
@@ -65,6 +66,8 @@ private void loadSettings() {
6566
public void onEnable() {
6667
// Set default protection flags for world to allow everything
6768
Flags.values().stream().filter(f -> f.getType().equals(Type.PROTECTION)).forEach(f -> f.setDefaultSetting(getOverWorld(), true));
69+
// Listen for end portals
70+
this.registerListener(new EndPortalListener(this));
6871
}
6972

7073
@Override

src/main/java/world/bentobox/skygrid/generators/SkyGridPop.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package world.bentobox.skygrid.generators;
22

3-
import java.util.HashMap;
43
import java.util.Map;
54
import java.util.Map.Entry;
65
import java.util.NavigableMap;
76
import java.util.Random;
87
import java.util.TreeMap;
98
import java.util.UUID;
9+
import java.util.concurrent.ConcurrentHashMap;
1010

1111
import org.bukkit.Bukkit;
1212
import org.bukkit.Location;
@@ -40,7 +40,7 @@ public class SkyGridPop extends BlockPopulator {
4040
private int worldTotal;
4141
private int netherTotal;
4242
private int endTotal;
43-
private Map<UUID, Random> rand = new HashMap<>();
43+
private Map<UUID, Random> rand = new ConcurrentHashMap<>();
4444
private Random random = new Random();
4545

4646
private static final Material[] SAPLING_TYPE = {
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package world.bentobox.skygrid.listeners;
2+
3+
import org.bukkit.Bukkit;
4+
import org.bukkit.Location;
5+
import org.bukkit.event.EventHandler;
6+
import org.bukkit.event.EventPriority;
7+
import org.bukkit.event.Listener;
8+
import org.bukkit.event.player.PlayerPortalEvent;
9+
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
10+
11+
import world.bentobox.bentobox.util.teleport.SafeSpotTeleport;
12+
import world.bentobox.skygrid.SkyGrid;
13+
14+
/**
15+
* Listens to player's teleporting to the End and puts an obsidian platform under them.
16+
*/
17+
public class EndPortalListener implements Listener {
18+
private SkyGrid addon;
19+
20+
public EndPortalListener(SkyGrid addon) {
21+
super();
22+
this.addon = addon;
23+
}
24+
25+
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
26+
public void onPlayerTeleport(PlayerPortalEvent e) {
27+
if (addon.getEndWorld() == null ||
28+
e.getCause() != TeleportCause.END_PORTAL || !addon.inWorld(e.getFrom())) {
29+
return;
30+
}
31+
Location to = e.getPlayer().getLocation().toVector().toLocation(addon.getEndWorld());
32+
to.setY(addon.getSettings().getIslandHeight());
33+
Bukkit.getScheduler().runTask(addon.getPlugin(), () ->
34+
new SafeSpotTeleport.Builder(addon.getPlugin()).portal().entity(e.getPlayer()).location(to).build());
35+
e.setCancelled(true);
36+
37+
}
38+
}

0 commit comments

Comments
 (0)