Skip to content

Commit

Permalink
Initial Commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Dev7ex committed Jul 1, 2023
1 parent 95392ce commit 906b9f0
Show file tree
Hide file tree
Showing 79 changed files with 4,976 additions and 133 deletions.
307 changes: 174 additions & 133 deletions README.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.dev7ex.multiworld.api.bukkit;

import com.dev7ex.multiworld.api.MultiWorldApi;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldConfiguration;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldGeneratorProvider;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldManager;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldProvider;

/**
* @author Dev7ex
* @since 18.06.2023
*/
public interface MultiWorldBukkitApi extends MultiWorldApi {

@Override
BukkitWorldConfiguration getWorldConfiguration();

@Override
BukkitWorldProvider getWorldProvider();

@Override
BukkitWorldGeneratorProvider getWorldGeneratorProvider();

@Override
BukkitWorldManager getWorldManager();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
package com.dev7ex.multiworld.api.bukkit.event;

import com.dev7ex.multiworld.api.MultiWorldApiConfiguration;
import com.dev7ex.multiworld.api.bukkit.MultiWorldBukkitApi;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldGeneratorProvider;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldManager;
import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldProvider;
import com.dev7ex.multiworld.api.user.WorldUserProvider;
import org.bukkit.event.Listener;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
public abstract class MultiWorldListener implements Listener {

private final MultiWorldBukkitApi multiWorldApi;

public MultiWorldListener(@NotNull final MultiWorldBukkitApi multiWorldApi) {
this.multiWorldApi = multiWorldApi;
}

public MultiWorldApiConfiguration getConfiguration() {
return this.multiWorldApi.getConfiguration();
}

public String getPrefix() {
return this.multiWorldApi.getConfiguration().getPrefix();
}

public BukkitWorldProvider getWorldProvider() {
return this.multiWorldApi.getWorldProvider();
}

public BukkitWorldManager getWorldManager() {
return this.multiWorldApi.getWorldManager();
}

public BukkitWorldGeneratorProvider getWorldGeneratorProvider() {
return this.multiWorldApi.getWorldGeneratorProvider();
}

protected WorldUserProvider getUserProvider() {
return this.multiWorldApi.getUserProvider();
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.dev7ex.multiworld.api.bukkit.event.plugin;

import com.dev7ex.multiworld.api.bukkit.MultiWorldBukkitApi;
import lombok.AccessLevel;
import lombok.Getter;
import org.bukkit.event.Event;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
abstract class MultiWorldEvent extends Event {

private final MultiWorldBukkitApi multiWorldApi;

MultiWorldEvent(@NotNull final MultiWorldBukkitApi multiWorldApi) {
this.multiWorldApi = multiWorldApi;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package com.dev7ex.multiworld.api.bukkit.event.plugin;

import com.dev7ex.multiworld.api.bukkit.MultiWorldBukkitApi;
import lombok.AccessLevel;
import lombok.Getter;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

/**
* @author itsTyrion
* @since 29.11.2022
*/
@Getter(AccessLevel.PUBLIC)
public class MultiWorldStartupCompleteEvent extends MultiWorldEvent {

private static final HandlerList HANDLERS = new HandlerList();
private final long startupDuration;

public MultiWorldStartupCompleteEvent(@NotNull final MultiWorldBukkitApi multiWorldApi, final long startupDuration) {
super(multiWorldApi);
this.startupDuration = startupDuration;
}

public static HandlerList getHandlerList() {
return MultiWorldStartupCompleteEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return MultiWorldStartupCompleteEvent.HANDLERS;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
package com.dev7ex.multiworld.api.bukkit.event.user;

import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldHolder;
import com.dev7ex.multiworld.api.user.WorldUser;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.PortalType;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 29.06.2023
*/
@Getter(AccessLevel.PUBLIC)
@Setter(AccessLevel.PUBLIC)
public class WorldUserEnterPortalEvent extends WorldUserEvent {

private static final HandlerList HANDLERS = new HandlerList();
private boolean cancelled = false;
private final BukkitWorldHolder currentWorldHolder;
private final BukkitWorldHolder portalWorldHolder;
private final PortalType portalType;

public WorldUserEnterPortalEvent(@NotNull final WorldUser user, @NotNull final BukkitWorldHolder currentWorldHolder, @NotNull final BukkitWorldHolder portalWorldHolder, @NotNull final PortalType portalType) {
super(user);
this.currentWorldHolder = currentWorldHolder;
this.portalWorldHolder = portalWorldHolder;
this.portalType = portalType;
}

public static HandlerList getHandlerList() {
return WorldUserEnterPortalEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return WorldUserEnterPortalEvent.HANDLERS;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.dev7ex.multiworld.api.bukkit.event.user;

import com.dev7ex.multiworld.api.user.WorldUser;
import lombok.AccessLevel;
import lombok.Getter;
import org.bukkit.event.Event;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
abstract class WorldUserEvent extends Event {

private final WorldUser user;

WorldUserEvent(@NotNull final WorldUser user) {
this.user = user;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.dev7ex.multiworld.api.bukkit.event.user;

import com.dev7ex.multiworld.api.user.WorldUser;
import lombok.AccessLevel;
import lombok.Getter;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
public class WorldUserLoginEvent extends WorldUserEvent {

private static final HandlerList HANDLERS = new HandlerList();

public WorldUserLoginEvent(@NotNull final WorldUser user) {
super(user);
}

public static HandlerList getHandlerList() {
return WorldUserLoginEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return WorldUserLoginEvent.HANDLERS;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.dev7ex.multiworld.api.bukkit.event.user;

import com.dev7ex.multiworld.api.user.WorldUser;
import lombok.AccessLevel;
import lombok.Getter;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
public class WorldUserLogoutEvent extends WorldUserEvent {

private static final HandlerList HANDLERS = new HandlerList();

public WorldUserLogoutEvent(@NotNull final WorldUser user) {
super(user);
}

public static HandlerList getHandlerList() {
return WorldUserLogoutEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return WorldUserLogoutEvent.HANDLERS;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package com.dev7ex.multiworld.api.bukkit.event.user;

import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldHolder;
import com.dev7ex.multiworld.api.user.WorldUser;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
@Setter(AccessLevel.PUBLIC)
public class WorldUserTeleportWorldEvent extends WorldUserEvent implements Cancellable {

private static final HandlerList HANDLERS = new HandlerList();
private boolean cancelled = false;
private BukkitWorldHolder lastWorldHolder;
private BukkitWorldHolder nextWorldHolder;

public WorldUserTeleportWorldEvent(@NotNull final WorldUser user, @NotNull final BukkitWorldHolder lastWorldHolder, @NotNull final BukkitWorldHolder nextWorldHolder) {
super(user);
this.lastWorldHolder = lastWorldHolder;
this.nextWorldHolder = nextWorldHolder;
}

public static HandlerList getHandlerList() {
return WorldUserTeleportWorldEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return WorldUserTeleportWorldEvent.HANDLERS;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package com.dev7ex.multiworld.api.bukkit.event.world;

import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldHolder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

import java.io.File;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
@Setter(AccessLevel.PUBLIC)
public class WorldCloneEvent extends WorldEvent implements Cancellable {

private static final HandlerList HANDLERS = new HandlerList();
private boolean cancelled = false;

private final String clonedName;
private final File sourceFolder;
private final File destinationFolder;

public WorldCloneEvent(@NotNull final BukkitWorldHolder worldHolder, @NotNull final CommandSender commandSender,
@NotNull final String clonedName, @NotNull final File sourceFolder,
@NotNull final File destinationFolder) {
super(worldHolder, commandSender);
this.clonedName = clonedName;
this.sourceFolder = sourceFolder;
this.destinationFolder = destinationFolder;
}

public static HandlerList getHandlerList() {
return WorldCloneEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return WorldCloneEvent.HANDLERS;
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package com.dev7ex.multiworld.api.bukkit.event.world;

import com.dev7ex.multiworld.api.bukkit.world.BukkitWorldHolder;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.command.CommandSender;
import org.bukkit.event.Cancellable;
import org.bukkit.event.HandlerList;
import org.jetbrains.annotations.NotNull;

/**
* @author Dev7ex
* @since 18.06.2023
*/
@Getter(AccessLevel.PUBLIC)
@Setter(AccessLevel.PUBLIC)
public class WorldCreateEvent extends WorldEvent implements Cancellable {

private static final HandlerList HANDLERS = new HandlerList();
private boolean cancelled = false;

public WorldCreateEvent(@NotNull final BukkitWorldHolder worldHolder, @NotNull final CommandSender commandSender) {
super(worldHolder, commandSender);
}

public static HandlerList getHandlerList() {
return WorldCreateEvent.HANDLERS;
}

@Override
public @NotNull HandlerList getHandlers() {
return WorldCreateEvent.HANDLERS;
}

}
Loading

0 comments on commit 906b9f0

Please sign in to comment.