Skip to content

Commit 1128c38

Browse files
authored
Merge pull request #9 from ifydev/cleanup/1.0
Cleanup/1.0
2 parents c038d9a + 332b0e8 commit 1128c38

File tree

11 files changed

+333
-218
lines changed

11 files changed

+333
-218
lines changed

API/src/main/java/me/ifydev/dimensify/api/DimensifyAPI.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public class DimensifyAPI {
4444

4545
@Getter private Optional<AbstractDataHandler> databaseHandler;
4646

47-
public void initialize(Class<? extends AbstractDataHandler> handler, BackendType backendType, Optional<ConnectionInformation> connectionInformation) throws Exception {
47+
public void initialize(String defaultWorld, Class<? extends AbstractDataHandler> handler, BackendType backendType, Optional<ConnectionInformation> connectionInformation) throws Exception {
4848
api = Optional.of(this);
4949

5050
try {
@@ -57,7 +57,8 @@ public void initialize(Class<? extends AbstractDataHandler> handler, BackendType
5757
if (!databaseHandler.isPresent()) throw new Exception("No data handler present.");
5858

5959
databaseHandler.ifPresent(h -> {
60-
h.initialize();
60+
System.out.println("Using " + defaultWorld + " as the default world...");
61+
h.initialize(defaultWorld);
6162
h.reload();
6263
if (h.connect()) System.out.println("Connected to database!");
6364
else System.out.println("Unable to connect to database!");

API/src/main/java/me/ifydev/dimensify/api/DimensifyConstants.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ public class DimensifyConstants {
5454
public static final String INVALID_DIMENSION_TYPE = DIMENSIFY_PREFIX + "&c&lDimension type '<TYPE>' is invalid.";
5555
public static final String INVALID_ENVIRONMENT_TYPE = DIMENSIFY_PREFIX + "&c&lEnvironment type '<TYPE>' is invalid.";
5656
public static final String SEED_NOT_PROVIDED = DIMENSIFY_PREFIX + "&c&lSeed has no value.";
57+
public static final String INVALID_SEED = DIMENSIFY_PREFIX + "&c&lInvalid seed value!";
5758
public static final String ENV_NOT_PROVIDED = DIMENSIFY_PREFIX + "&c&lEnv has no value.";
5859
public static final String INVALID_PLAYER = DIMENSIFY_PREFIX + "&c&lInvalid player: <PLAYER>";
5960
public static final String INTERNAL_ERROR = DIMENSIFY_PREFIX + "&c&lAn internal error has occurred. Please check your console for more details";
@@ -62,17 +63,20 @@ public class DimensifyConstants {
6263
public static final String INVALID_PORTAL = DIMENSIFY_PREFIX + "&c&lInvalid portal!";
6364
public static final String PORTAL_NAME_ALREADY_USED = DIMENSIFY_PREFIX + "&c&lPortal name '<NAME>' already used!";
6465
public static final String CANNOT_DELETE_MAIN_WORLD = DIMENSIFY_PREFIX + "&c&lCannot delete the main world!";
66+
public static final String COULD_NOT_CONNECT_TO_DATABASE = DIMENSIFY_PREFIX + "&c&lCannot connect to the database!";
6567

6668
// General success
6769
public static final String CREATING_WORLD = DIMENSIFY_PREFIX + "World '<WORLD>' is being created...";
6870
public static final String WORLD_CREATED = DIMENSIFY_PREFIX + "World '<WORLD>' created!";
6971
public static final String WHOOSH = "&a&lWhoosh!";
7072
public static final String WORLD_DELETED = DIMENSIFY_PREFIX + "World '<WORLD>' has been deleted!";
71-
public static final String YOU_HAVE_BEEN_SENT = DIMENSIFY_PREFIX + "You have been sent to <WORLD>!";
7273
public static final String PLAYER_HAS_BEEN_SENT = DIMENSIFY_PREFIX + "<PLAYER> has been sent to <WORLD>!";
7374
public static final String PORTALS_LINKED = DIMENSIFY_PREFIX + "Portals have been linked!";
7475
public static final String PORTAL_CREATED = DIMENSIFY_PREFIX + "Portal '<PORTAL>' created!";
7576
public static final String PORTAL_DELETED = DIMENSIFY_PREFIX + "Portal '<PORTAL>' has been deleted!";
77+
public static final String PORTAL_LIST_FORMAT = "&2&l<NAME> - &9&lX: <X>, Y: <Y>, Z: <Z> - &e&lDimension: <DIMENSION> - &3&lDestination: <DESTINATION>";
78+
public static final String DIMENSION_LIST_FORMAT = "&2&l<NAME> - Type: <TYPE> - Default?: <DEFAULT>";
79+
public static final String THERE_ARE_NONE = DIMENSIFY_PREFIX + "&2&lThere are no <ITEM>!";
7680

7781
// Help response
7882
// TODO: This should automatically paginate.

API/src/main/java/me/ifydev/dimensify/api/backend/AbstractDataHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public abstract class AbstractDataHandler {
2222
/**
2323
* Setup anything that's needed before we can connect.
2424
*/
25-
public abstract void initialize();
25+
public abstract void initialize(String defaultWorld);
2626

2727
/**
2828
* Connect to whatever kind of handler we're going for.
@@ -45,7 +45,7 @@ public abstract class AbstractDataHandler {
4545
public abstract boolean removePortal(String name);
4646
public abstract List<PortalMeta> getPortals();
4747

48-
public abstract void setPortalDestination(String portal, String destination);
48+
public abstract boolean setPortalDestination(String portal, String destination);
4949

5050
public abstract boolean createDimension(Dimension dimension);
5151
public abstract boolean removeDimension(String name);

API/src/main/java/me/ifydev/dimensify/api/backend/impl/SQLHandler.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ public class SQLHandler extends AbstractDataHandler {
1818
private boolean isUsingSQLite = false;
1919
private String baseConnectionUrl;
2020

21+
private String defaultWorld;
22+
2123
public SQLHandler(ConnectionInformation connectionInformation) {
2224
super(connectionInformation);
2325

@@ -49,8 +51,9 @@ private Optional<Connection> getConnection() {
4951
}
5052

5153
@Override
52-
public void initialize() {
54+
public void initialize(String defaultWorld) {
5355
this.dimensions = new ArrayList<>();
56+
this.defaultWorld = defaultWorld;
5457

5558
try {
5659
Optional<Connection> connection = getConnection();
@@ -185,9 +188,9 @@ public List<PortalMeta> getPortals() {
185188
}
186189

187190
@Override
188-
public void setPortalDestination(String portal, String destination) {
191+
public boolean setPortalDestination(String portal, String destination) {
189192
Optional<Connection> connection = getConnection();
190-
if (!connection.isPresent()) return;
193+
if (!connection.isPresent()) return false;
191194

192195
this.destinations.put(portal, destination);
193196

@@ -199,9 +202,11 @@ public void setPortalDestination(String portal, String destination) {
199202

200203
statement.close();
201204
connection.get().close();
205+
return true;
202206
} catch (SQLException e) {
203207
e.printStackTrace();
204208
}
209+
return false;
205210
}
206211

207212
@Override
@@ -227,12 +232,13 @@ public List<Dimension> getDimensions() {
227232

228233
@Override
229234
public Optional<Dimension> getDimension(String name) {
230-
return this.dimensions.stream().filter(d -> d.getName().equals(name)).findFirst();
235+
if (name.equalsIgnoreCase(defaultWorld)) return Optional.of(new Dimension(defaultWorld, "", Optional.empty(), false));
236+
return this.dimensions.stream().filter(d -> d.getName().equalsIgnoreCase(name)).findFirst();
231237
}
232238

233239
@Override
234240
public Optional<PortalMeta> getPortal(String name) {
235-
return this.portals.stream().filter(p -> p.getName().equals(name)).findFirst();
241+
return this.portals.stream().filter(p -> p.getName().equalsIgnoreCase(name)).findFirst();
236242
}
237243

238244
@Override
@@ -245,7 +251,7 @@ public boolean createDimension(Dimension dimension) {
245251
Optional<Connection> connection = getConnection();
246252
if (!connection.isPresent()) return false;
247253

248-
if (dimensions.stream().anyMatch(d -> d.getName().equals(dimension.getName()))) return false;
254+
if (dimensions.stream().anyMatch(d -> d.getName().equalsIgnoreCase(dimension.getName()))) return false;
249255
this.dimensions.add(dimension);
250256

251257
try {
@@ -272,7 +278,7 @@ public boolean removeDimension(String name) {
272278
Optional<Connection> connection = getConnection();
273279
if (!connection.isPresent()) return false;
274280

275-
Optional<Dimension> dimension = this.dimensions.stream().filter(d -> d.getName().equals(name)).findFirst();
281+
Optional<Dimension> dimension = this.dimensions.stream().filter(d -> d.getName().equalsIgnoreCase(name)).findFirst();
276282
if (!dimension.isPresent()) return false;
277283
dimensions.remove(dimension.get());
278284

DimensifySpigot/src/main/java/me/ifydev/dimensifyspigot/DimensifyMain.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import me.ifydev.dimensifyspigot.portal.PortalRegistry;
3535
import me.ifydev.dimensifyspigot.util.Verifier;
3636
import me.ifydev.dimensifyspigot.world.WorldController;
37+
import org.bukkit.Bukkit;
3738
import org.bukkit.plugin.PluginManager;
3839
import org.bukkit.plugin.java.JavaPlugin;
3940

@@ -71,7 +72,7 @@ public void onEnable() {
7172
getLogger().info("Initializing Dimensify API...");
7273
api = new DimensifyAPI();
7374
try {
74-
api.initialize(SpigotFlatFileHandler.class, backendType.get(), Verifier.verifyConnectionInformation(backendType.get()));
75+
api.initialize(Bukkit.getWorlds().get(0).getName(), SpigotFlatFileHandler.class, backendType.get(), Verifier.verifyConnectionInformation(backendType.get()));
7576
} catch (Exception e) {
7677
getLogger().severe("Could not initialize Dimensify API!");
7778
e.printStackTrace();

DimensifySpigot/src/main/java/me/ifydev/dimensifyspigot/backend/SpigotFlatFileHandler.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ public class SpigotFlatFileHandler extends AbstractDataHandler {
2828
private File storageFile;
2929
private FileConfiguration storage;
3030

31+
private String defaultWorld;
32+
3133
public SpigotFlatFileHandler(ConnectionInformation connectionInformation) {
3234
super(connectionInformation);
3335
}
@@ -42,9 +44,10 @@ private void saveStorage() {
4244
}
4345

4446
@Override
45-
public void initialize() {
47+
public void initialize(String defaultWorld) {
4648
DimensifyMain plugin = DimensifyMain.get();
4749
File data = plugin.getDataFolder();
50+
this.defaultWorld = defaultWorld;
4851

4952
// Ensure the files exist
5053
storageFile = new File(data, plugin.getConfig().getString("connection.file", "storage.yml"));
@@ -84,7 +87,7 @@ public void drop() {
8487
@Override
8588
public boolean createPortal(PortalMeta meta) {
8689
// Make sure this does not exist in the cache already
87-
Optional<PortalMeta> portal = this.portals.stream().filter(m -> m.getName().equals(meta.getName())).findFirst();
90+
Optional<PortalMeta> portal = this.portals.stream().filter(m -> m.getName().equalsIgnoreCase(meta.getName())).findFirst();
8891
if (portal.isPresent()) return false;
8992
this.portals.add(meta);
9093

@@ -111,7 +114,7 @@ public boolean createPortal(PortalMeta meta) {
111114
@Override
112115
public boolean removePortal(String name) {
113116
// Make sure the portal exists in the cache.
114-
Optional<PortalMeta> meta = this.portals.stream().filter(m -> m.getName().equals(name)).findFirst();
117+
Optional<PortalMeta> meta = this.portals.stream().filter(m -> m.getName().equalsIgnoreCase(name)).findFirst();
115118
if (!meta.isPresent()) return false;
116119

117120
// Remove the portal from all caches
@@ -164,16 +167,17 @@ public List<PortalMeta> getPortals() {
164167
}
165168

166169
@Override
167-
public void setPortalDestination(String portal, String destination) {
170+
public boolean setPortalDestination(String portal, String destination) {
168171
this.destinations.put(portal, destination);
169172

170173
storage.set("link." + portal, destination);
171174
saveStorage();
175+
return true;
172176
}
173177

174178
@Override
175179
public boolean createDimension(Dimension dimension) {
176-
Optional<Dimension> d = this.dimensions.stream().filter(dim -> dim.getName().equals(dimension.getName())).findFirst();
180+
Optional<Dimension> d = this.dimensions.stream().filter(dim -> dim.getName().equalsIgnoreCase(dimension.getName())).findFirst();
177181
if (d.isPresent()) return false;
178182
this.dimensions.add(dimension);
179183

@@ -190,7 +194,7 @@ public boolean createDimension(Dimension dimension) {
190194
@Override
191195
public boolean removeDimension(String name) {
192196
// Make sure it's cached
193-
Optional<Dimension> dimension = this.dimensions.stream().filter(d -> d.getName().equals(name)).findFirst();
197+
Optional<Dimension> dimension = this.dimensions.stream().filter(d -> d.getName().equalsIgnoreCase(name)).findFirst();
194198
if (!dimension.isPresent()) return false;
195199

196200
// Remove from the cache
@@ -225,16 +229,17 @@ public List<Dimension> getDimensions() {
225229

226230
@Override
227231
public Optional<Dimension> getDimension(String name) {
228-
return Optional.empty();
232+
if (name.equalsIgnoreCase(defaultWorld)) return Optional.of(new Dimension(defaultWorld, "", Optional.empty(), false));
233+
return this.dimensions.stream().filter(d -> d.getName().equalsIgnoreCase(name)).findFirst();
229234
}
230235

231236
@Override
232237
public Optional<PortalMeta> getPortal(String name) {
233-
return Optional.empty();
238+
return this.portals.stream().filter(d -> d.getName().equalsIgnoreCase(name)).findFirst();
234239
}
235240

236241
@Override
237242
public Optional<String> getDestinationForPortal(String portalName) {
238-
return Optional.empty();
243+
return Optional.ofNullable(destinations.getOrDefault(portalName, null));
239244
}
240245
}

0 commit comments

Comments
 (0)