Skip to content

Commit ac8ba88

Browse files
committed
update to 1.21.3, fix bugs
- updated code to work with 1.21.3 - fix powering spawners with redstone torches, blocks and other powering methods, not just redstone dust - refactor
1 parent 93d0709 commit ac8ba88

File tree

7 files changed

+76
-68
lines changed

7 files changed

+76
-68
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,5 @@
11
.idea/
2-
*.iml
2+
*.iml
3+
target/original-redstone-spawners-1.0.jar
4+
target/redstone-spawners-1.0.jar
5+
/target

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"java.configuration.updateBuildConfiguration": "interactive"
3+
}

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55
<modelVersion>4.0.0</modelVersion>
66

7-
<groupId>com.trophonix</groupId>
8-
<artifactId>redstone-spawners</artifactId>
7+
<groupId>com.trophonix.devilAPI</groupId>
8+
<artifactId>redstone-spawners-reloaded</artifactId>
99
<version>1.0</version>
1010

1111
<repositories>
@@ -19,7 +19,7 @@
1919
<dependency>
2020
<groupId>org.spigotmc</groupId>
2121
<artifactId>spigot-api</artifactId>
22-
<version>1.12.2-R0.1-SNAPSHOT</version>
22+
<version>1.21.4-R0.1-SNAPSHOT</version>
2323
<scope>provided</scope>
2424
</dependency>
2525
</dependencies>
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
package com.trophonix.devilapi.redstonespawners;
2+
3+
import org.bukkit.Bukkit;
4+
import org.bukkit.ChatColor;
5+
import org.bukkit.block.Block;
6+
import org.bukkit.command.Command;
7+
import org.bukkit.command.CommandSender;
8+
import org.bukkit.configuration.file.FileConfiguration;
9+
import org.bukkit.event.EventHandler;
10+
import org.bukkit.event.Listener;
11+
import org.bukkit.event.entity.SpawnerSpawnEvent;
12+
import org.bukkit.plugin.java.JavaPlugin;
13+
14+
public class RedstoneSpawners extends JavaPlugin implements Listener {
15+
16+
@Override
17+
public void onEnable() {
18+
saveDefaultConfig(); // Ensures the config is saved if it doesn't exist
19+
getServer().getPluginManager().registerEvents(this, this);
20+
getLogger().info( "RedstoneSpawners enabled!");
21+
}
22+
23+
@Override
24+
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
25+
if (args.length > 0) {
26+
switch (args[0].toLowerCase()) {
27+
case "reload":
28+
case "rl":
29+
reloadConfig();
30+
sender.sendMessage(ChatColor.RED + "[RedstoneSpawners] " + ChatColor.WHITE + "Config reloaded!");
31+
return true;
32+
}
33+
}
34+
sender.sendMessage(new String[]{
35+
" ",
36+
ChatColor.RED + "[RedstoneSpawners by Trophonix, updated by devilAPI]",
37+
ChatColor.WHITE + "/rss reload " + ChatColor.GRAY + "Reload config file.",
38+
" "
39+
});
40+
return true;
41+
}
42+
43+
@EventHandler
44+
public void onSpawnerActivate(SpawnerSpawnEvent event) {
45+
Block spawner = event.getSpawner().getBlock();
46+
FileConfiguration config = getConfig();
47+
48+
boolean powerEnables = config.getBoolean("power-enables", true);
49+
boolean isPowered = spawner.getBlockPower() > 0; // Check for any Redstone power source
50+
boolean cancel = (isPowered != powerEnables);
51+
52+
if (cancel) {
53+
event.setCancelled(true);
54+
}
55+
56+
if (config.getBoolean("debug", false)) {
57+
String loc = "[" + spawner.getX() + ", " + spawner.getY() + ", " + spawner.getZ() + "]";
58+
getLogger().info((cancel ? "Cancelled" : "Allowed") + " spawner at " + loc);
59+
}
60+
}
61+
}

src/main/java/com/trophonix/redstonespawners/RedstoneSpawners.java

Lines changed: 0 additions & 60 deletions
This file was deleted.

src/main/resources/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# If true, mob spawners will only activate when powered.
22
# If false, mob spawners will only activate when NOT powered.
3-
power-enables: true
3+
power-enables: false
44
debug: false

src/main/resources/plugin.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
name: "RedstoneSpawners"
1+
name: "RedstoneSpawnersReloaded"
22
version: "${project.version}"
3-
author: "Trophonix"
4-
main: "com.trophonix.redstonespawners.RedstoneSpawners"
3+
author: "Trophonix, devilAPI"
4+
main: "com.trophonix.redstonespawners.devilAPI.RedstoneSpawners"
5+
api-version: 1.21
56
commands:
67
redstonespawners:
78
description: "RedstoneSpawners admin command"

0 commit comments

Comments
 (0)