new
This commit is contained in:
parent
11d430ba67
commit
701d76167a
3
.idea/.gitignore
vendored
Normal file
3
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
9
.idea/artifacts/servercore_za_jar.xml
Normal file
9
.idea/artifacts/servercore_za_jar.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<component name="ArtifactManager">
|
||||
<artifact type="jar" name="servercore_za:jar">
|
||||
<output-path>$PROJECT_DIR$/out/artifacts/servercore_za_jar</output-path>
|
||||
<root id="archive" name="servercore_za.jar">
|
||||
<element id="module-output" name="servercore_za" />
|
||||
<element id="file-copy" path="$PROJECT_DIR$/src/main/resources/plugin.yml" />
|
||||
</root>
|
||||
</artifact>
|
||||
</component>
|
||||
13
.idea/compiler.xml
Normal file
13
.idea/compiler.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="CompilerConfiguration">
|
||||
<annotationProcessing>
|
||||
<profile name="Maven default annotation processors profile" enabled="true">
|
||||
<sourceOutputDir name="target/generated-sources/annotations" />
|
||||
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
|
||||
<outputRelativeToContentRoot value="true" />
|
||||
<module name="servercore_za" />
|
||||
</profile>
|
||||
</annotationProcessing>
|
||||
</component>
|
||||
</project>
|
||||
7
.idea/encodings.xml
Normal file
7
.idea/encodings.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Encoding">
|
||||
<file url="file://$PROJECT_DIR$/src/main/java" charset="UTF-8" />
|
||||
<file url="file://$PROJECT_DIR$/src/main/resources" charset="UTF-8" />
|
||||
</component>
|
||||
</project>
|
||||
35
.idea/jarRepositories.xml
Normal file
35
.idea/jarRepositories.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="RemoteRepositoriesConfiguration">
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Central Repository" />
|
||||
<option name="url" value="https://repo.maven.apache.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="sonatype" />
|
||||
<option name="name" value="sonatype" />
|
||||
<option name="url" value="https://oss.sonatype.org/content/groups/public/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="spigotmc-repo" />
|
||||
<option name="name" value="spigotmc-repo" />
|
||||
<option name="url" value="https://hub.spigotmc.org/nexus/content/repositories/snapshots/" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jitpack" />
|
||||
<option name="name" value="jitpack" />
|
||||
<option name="url" value="https://jitpack.io" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="central" />
|
||||
<option name="name" value="Maven Central repository" />
|
||||
<option name="url" value="https://repo1.maven.org/maven2" />
|
||||
</remote-repository>
|
||||
<remote-repository>
|
||||
<option name="id" value="jboss.community" />
|
||||
<option name="name" value="JBoss Community repository" />
|
||||
<option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
|
||||
</remote-repository>
|
||||
</component>
|
||||
</project>
|
||||
14
.idea/misc.xml
Normal file
14
.idea/misc.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="MavenProjectsManager">
|
||||
<option name="originalFiles">
|
||||
<list>
|
||||
<option value="$PROJECT_DIR$/pom.xml" />
|
||||
</list>
|
||||
</option>
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_23" default="true" project-jdk-name="23" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/out" />
|
||||
</component>
|
||||
</project>
|
||||
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/servercore_za.iml" filepath="$PROJECT_DIR$/servercore_za.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
||||
BIN
out/artifacts/servercore_za_jar/servercore_za.jar
Normal file
BIN
out/artifacts/servercore_za_jar/servercore_za.jar
Normal file
Binary file not shown.
83
pom.xml
Normal file
83
pom.xml
Normal file
@ -0,0 +1,83 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<groupId>net.thedawnph</groupId>
|
||||
<artifactId>servercore_za</artifactId>
|
||||
<version>1.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<name>servercore_za</name>
|
||||
|
||||
<properties>
|
||||
<java.version>21</java.version>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
<defaultGoal>clean package</defaultGoal>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.13.0</version>
|
||||
<configuration>
|
||||
<source>${java.version}</source>
|
||||
<target>${java.version}</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.5.3</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
</build>
|
||||
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>jitpack</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>spigotmc-repo</id>
|
||||
<url>https://hub.spigotmc.org/nexus/content/repositories/snapshots/</url>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>sonatype</id>
|
||||
<url>https://oss.sonatype.org/content/groups/public/</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.spigotmc</groupId>
|
||||
<artifactId>spigot-api</artifactId>
|
||||
<version>1.21.3-R0.1-SNAPSHOT</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.ericdebouwer</groupId>
|
||||
<artifactId>ZombieApocalypse</artifactId>
|
||||
<version>1.4.11</version>
|
||||
<scope>system</scope>
|
||||
<systemPath>${project.basedir}/src/main/lib/ZombieApocalypse.jar</systemPath>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
13
servercore_za.iml
Normal file
13
servercore_za.iml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module version="4">
|
||||
<component name="FacetManager">
|
||||
<facet type="minecraft" name="Minecraft">
|
||||
<configuration>
|
||||
<autoDetectTypes>
|
||||
<platformType>SPIGOT</platformType>
|
||||
</autoDetectTypes>
|
||||
<projectReimportVersion>1</projectReimportVersion>
|
||||
</configuration>
|
||||
</facet>
|
||||
</component>
|
||||
</module>
|
||||
@ -0,0 +1,19 @@
|
||||
package net.thedawnph.servercore_za;
|
||||
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Server;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class DisableMonsters implements Listener {
|
||||
@EventHandler
|
||||
public void onPlayerJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
Server server = Bukkit.getServer();
|
||||
Objects.requireNonNull(server.getWorld("world")).setSpawnFlags(false, true);
|
||||
}
|
||||
}
|
||||
50
src/main/java/net/thedawnph/servercore_za/Servercore_za.java
Normal file
50
src/main/java/net/thedawnph/servercore_za/Servercore_za.java
Normal file
@ -0,0 +1,50 @@
|
||||
package net.thedawnph.servercore_za;
|
||||
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.bukkit.Bukkit;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Objects;
|
||||
import java.util.logging.Logger;
|
||||
import com.ericdebouwer.zombieapocalypse.api.ApocalypseAPI;
|
||||
|
||||
|
||||
public final class Servercore_za extends JavaPlugin {
|
||||
|
||||
private static final Logger LOGGER=Logger.getLogger("servercore_za");
|
||||
FileConfiguration config = getConfig();
|
||||
|
||||
@Override
|
||||
public void onEnable()
|
||||
{
|
||||
LOGGER.info("ZA ServerCore has been enabled!");
|
||||
|
||||
registerEvents();
|
||||
// Create config folder if it doesn't exist
|
||||
if (!getDataFolder().exists()) {
|
||||
if (getDataFolder().mkdir()) {
|
||||
getLogger().info("Data folder created: " + getDataFolder().getAbsolutePath());
|
||||
} else {
|
||||
getLogger().info("Failed to create data folder: " + getDataFolder().getAbsolutePath() + ". It might exists?.");
|
||||
}
|
||||
}
|
||||
|
||||
// Save default configuration file
|
||||
saveDefaultConfig();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDisable()
|
||||
{
|
||||
LOGGER.info("ZA ServerCore disabled");
|
||||
}
|
||||
|
||||
|
||||
private void registerEvents() {
|
||||
getServer().getPluginManager().registerEvents(new ZombieKill(), this);
|
||||
getServer().getPluginManager().registerEvents(new DisableMonsters(), this);
|
||||
getServer().getPluginManager().registerEvents(new StartNighttimeTask(), this);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package net.thedawnph.servercore_za;
|
||||
|
||||
import com.ericdebouwer.zombieapocalypse.api.ApocalypseAPI;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.event.Listener;
|
||||
|
||||
public class StartNighttimeTask implements Listener {
|
||||
public StartNighttimeTask() {
|
||||
Bukkit.getScheduler().runTaskTimer(Servercore_za.getPlugin(Servercore_za.class), () -> {
|
||||
ApocalypseAPI apocalypseAPI = ApocalypseAPI.getInstance();
|
||||
long time = Bukkit.getWorlds().getFirst().getTime(); // Get the time of the first world
|
||||
if (time >= 13000 && time <= 23000) { // Check if it is nighttime
|
||||
boolean isApocalyptic = apocalypseAPI.isApocalypse("world");
|
||||
if (isApocalyptic) {
|
||||
apocalypseAPI.startApocalypse("world", 300, 1, true);
|
||||
Bukkit.getWorlds().getFirst().playSound(Bukkit.getWorlds().getFirst().getSpawnLocation(), "block.bell.use", 1, 1);
|
||||
}
|
||||
}
|
||||
}, 0, 1200L); // Run every minute
|
||||
}
|
||||
}
|
||||
34
src/main/java/net/thedawnph/servercore_za/ZombieKill.java
Normal file
34
src/main/java/net/thedawnph/servercore_za/ZombieKill.java
Normal file
@ -0,0 +1,34 @@
|
||||
package net.thedawnph.servercore_za;
|
||||
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.entity.EntityDeathEvent;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
public class ZombieKill implements Listener {
|
||||
// randomizer function
|
||||
public static int randomizer(int min, int max) {
|
||||
return (int) ((Math.random() * (max - min)) + min);
|
||||
}
|
||||
|
||||
private FileConfiguration getConfig() {
|
||||
return JavaPlugin.getPlugin(Servercore_za.class).getConfig();
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onEntityDeath(EntityDeathEvent event) {
|
||||
if (event.getEntity().getType().equals(EntityType.ZOMBIE)) {
|
||||
event.getDrops().clear();
|
||||
List<String> items = getConfig().getStringList("zombie-drops");
|
||||
event.getDrops().add(new ItemStack(Objects.requireNonNull(Material.getMaterial(Objects.requireNonNull(items.get(randomizer(0, items.size())))))));
|
||||
}
|
||||
}
|
||||
}
|
||||
BIN
src/main/lib/ZombieApocalypse.jar
Normal file
BIN
src/main/lib/ZombieApocalypse.jar
Normal file
Binary file not shown.
14
src/main/resources/config.yml
Normal file
14
src/main/resources/config.yml
Normal file
@ -0,0 +1,14 @@
|
||||
zombie-drops:
|
||||
- "IRON_INGOT"
|
||||
- "GOLD_INGOT"
|
||||
- "DIAMOND"
|
||||
- "EMERALD"
|
||||
- "DEAD_BUSH"
|
||||
- "BREAD"
|
||||
- "STICK"
|
||||
- "LEATHER"
|
||||
- "BONE"
|
||||
- "LEATHER_HELMET"
|
||||
- "LEATHER_CHESTPLATE"
|
||||
- "LEATHER_LEGGINGS"
|
||||
- "LEATHER_BOOTS"
|
||||
19
src/main/resources/plugin.yml
Normal file
19
src/main/resources/plugin.yml
Normal file
@ -0,0 +1,19 @@
|
||||
name: servercore_za
|
||||
version: '1.0-SNAPSHOT'
|
||||
main: net.thedawnph.servercore_za.Servercore_za
|
||||
api-version: '1.20'
|
||||
load: STARTUP
|
||||
authors: [ princepines ]
|
||||
description: Server Core for TheDawnPH Zombie Apocalypse
|
||||
website: https://thedawnph.net
|
||||
depend: [ZombieApocalypse]
|
||||
commands:
|
||||
coreinfo:
|
||||
description: Server Core for TheDawnPH Zombie Apocalypse
|
||||
usage: /coreinfo
|
||||
permission: servercore_za.command
|
||||
permission-message: You do not have permission to use this command.
|
||||
permissions:
|
||||
servercore_za.command:
|
||||
description: Permission to use Server Core for TheDawnPH Zombie Apocalypse
|
||||
default: op
|
||||
14
target/classes/config.yml
Normal file
14
target/classes/config.yml
Normal file
@ -0,0 +1,14 @@
|
||||
zombie-drops:
|
||||
- "IRON_INGOT"
|
||||
- "GOLD_INGOT"
|
||||
- "DIAMOND"
|
||||
- "EMERALD"
|
||||
- "DEAD_BUSH"
|
||||
- "BREAD"
|
||||
- "STICK"
|
||||
- "LEATHER"
|
||||
- "BONE"
|
||||
- "LEATHER_HELMET"
|
||||
- "LEATHER_CHESTPLATE"
|
||||
- "LEATHER_LEGGINGS"
|
||||
- "LEATHER_BOOTS"
|
||||
BIN
target/classes/net/thedawnph/servercore_za/DisableMonsters.class
Normal file
BIN
target/classes/net/thedawnph/servercore_za/DisableMonsters.class
Normal file
Binary file not shown.
BIN
target/classes/net/thedawnph/servercore_za/Servercore_za.class
Normal file
BIN
target/classes/net/thedawnph/servercore_za/Servercore_za.class
Normal file
Binary file not shown.
Binary file not shown.
BIN
target/classes/net/thedawnph/servercore_za/ZombieKill.class
Normal file
BIN
target/classes/net/thedawnph/servercore_za/ZombieKill.class
Normal file
Binary file not shown.
19
target/classes/plugin.yml
Normal file
19
target/classes/plugin.yml
Normal file
@ -0,0 +1,19 @@
|
||||
name: servercore_za
|
||||
version: '1.0-SNAPSHOT'
|
||||
main: net.thedawnph.servercore_za.Servercore_za
|
||||
api-version: '1.20'
|
||||
load: STARTUP
|
||||
authors: [ princepines ]
|
||||
description: Server Core for TheDawnPH Zombie Apocalypse
|
||||
website: https://thedawnph.net
|
||||
depend: [ZombieApocalypse]
|
||||
commands:
|
||||
coreinfo:
|
||||
description: Server Core for TheDawnPH Zombie Apocalypse
|
||||
usage: /coreinfo
|
||||
permission: servercore_za.command
|
||||
permission-message: You do not have permission to use this command.
|
||||
permissions:
|
||||
servercore_za.command:
|
||||
description: Permission to use Server Core for TheDawnPH Zombie Apocalypse
|
||||
default: op
|
||||
Loading…
Reference in New Issue
Block a user