1.4.1
Added: - Creeper Disable Fuse Setting
This commit is contained in:
1 parent
196dc123e7
commit
ea2c98284f
2 files changed
+16
-38
No files matched your search
@@ -3,6 +3,7 @@ Features:
|
|||||||
[list]
|
[list]
|
||||||
[*]Keep Inventory[list][*]Determines what happens to your stuff when you die.[/list]
|
[*]Keep Inventory[list][*]Determines what happens to your stuff when you die.[/list]
|
||||||
[*]Creeper Damage[list][*]Enables/Disables creeper damage. Seperate settings for Blocks and Mobs/Players[/list]
|
[*]Creeper Damage[list][*]Enables/Disables creeper damage. Seperate settings for Blocks and Mobs/Players[/list]
|
||||||
|
[*]Creeper Disable Fuse[list][*]Enable/Disable a creepers ability to explode. The creeper will still ignite itself but after a second it will disarm.[/list]
|
||||||
[*]Mob Equipment Drops[list][*]Determines wether equipped items are dropped by mobs when killed by a player or not[/list]
|
[*]Mob Equipment Drops[list][*]Determines wether equipped items are dropped by mobs when killed by a player or not[/list]
|
||||||
[*]All Mobs Peaceful[list][*]Enable/Disable a Mobs ability to target players[/list]
|
[*]All Mobs Peaceful[list][*]Enable/Disable a Mobs ability to target players[/list]
|
||||||
[/list]
|
[/list]
|
||||||
+15
-38
@@ -5,8 +5,9 @@ import org.bukkit.Bukkit;
|
|||||||
import org.bukkit.entity.Creeper;
|
import org.bukkit.entity.Creeper;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.EventHandler;
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.EventPriority;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.event.entity.EntityTargetEvent;
|
import org.bukkit.event.entity.EntityTargetLivingEntityEvent;
|
||||||
import org.bukkit.event.entity.EntityExplodeEvent;
|
import org.bukkit.event.entity.EntityExplodeEvent;
|
||||||
import org.bukkit.scheduler.BukkitTask;
|
import org.bukkit.scheduler.BukkitTask;
|
||||||
|
|
||||||
@@ -19,9 +20,9 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
private final Map<UUID, BukkitTask> activeTasks =
|
private final Map<UUID, BukkitTask> activeTasks =
|
||||||
new HashMap<>();
|
new HashMap<>();
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler(priority = EventPriority.MONITOR)
|
||||||
public void onEntityTarget(
|
public void onEntityTarget(
|
||||||
EntityTargetEvent event
|
EntityTargetLivingEntityEvent event
|
||||||
) {
|
) {
|
||||||
|
|
||||||
if (!(event.getEntity() instanceof Creeper creeper)) {
|
if (!(event.getEntity() instanceof Creeper creeper)) {
|
||||||
@@ -32,20 +33,17 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
stopTask(
|
stopTask(
|
||||||
creeper.getUniqueId()
|
creeper.getUniqueId()
|
||||||
);
|
);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
String worldName =
|
|
||||||
creeper.getWorld()
|
|
||||||
.getName();
|
|
||||||
|
|
||||||
boolean disableFuse =
|
boolean disableFuse =
|
||||||
RSServerAdmin.getInstance()
|
RSServerAdmin.getInstance()
|
||||||
.getCreeperSettingsDAO()
|
.getCreeperSettingsDAO()
|
||||||
.getDisableFuse(
|
.getDisableFuse(
|
||||||
worldName
|
creeper.getWorld().getName()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!disableFuse) {
|
if (!disableFuse) {
|
||||||
@@ -69,7 +67,7 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler(priority = EventPriority.HIGHEST)
|
||||||
public void onEntityExplode(
|
public void onEntityExplode(
|
||||||
EntityExplodeEvent event
|
EntityExplodeEvent event
|
||||||
) {
|
) {
|
||||||
@@ -80,37 +78,25 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
String worldName =
|
|
||||||
creeper.getWorld()
|
|
||||||
.getName();
|
|
||||||
|
|
||||||
boolean disableFuse =
|
boolean disableFuse =
|
||||||
RSServerAdmin.getInstance()
|
RSServerAdmin.getInstance()
|
||||||
.getCreeperSettingsDAO()
|
.getCreeperSettingsDAO()
|
||||||
.getDisableFuse(
|
.getDisableFuse(
|
||||||
worldName
|
creeper.getWorld().getName()
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!disableFuse) {
|
if (!disableFuse) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
stopTask(
|
|
||||||
creeper.getUniqueId()
|
|
||||||
);
|
|
||||||
|
|
||||||
creeper.setIgnited(
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
creeper.setFuseTicks(
|
|
||||||
0
|
|
||||||
);
|
|
||||||
|
|
||||||
event.setCancelled(
|
event.setCancelled(
|
||||||
true
|
true
|
||||||
);
|
);
|
||||||
|
|
||||||
|
stopTask(
|
||||||
|
creeper.getUniqueId()
|
||||||
|
);
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
|
|
||||||
RSServerAdmin.getInstance()
|
RSServerAdmin.getInstance()
|
||||||
@@ -157,8 +143,7 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
RSServerAdmin.getInstance()
|
RSServerAdmin.getInstance()
|
||||||
.getCreeperSettingsDAO()
|
.getCreeperSettingsDAO()
|
||||||
.getDisableFuse(
|
.getDisableFuse(
|
||||||
creeper.getWorld()
|
creeper.getWorld().getName()
|
||||||
.getName()
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if (!disableFuse) {
|
if (!disableFuse) {
|
||||||
@@ -180,15 +165,7 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (creeper.isIgnited()) {
|
if (creeper.getFuseTicks() > 0) {
|
||||||
|
|
||||||
creeper.setIgnited(
|
|
||||||
false
|
|
||||||
);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
if (creeper.getFuseTicks() != 0) {
|
|
||||||
|
|
||||||
creeper.setFuseTicks(
|
creeper.setFuseTicks(
|
||||||
0
|
0
|
||||||
@@ -201,7 +178,7 @@ public class CreeperDisableFuseListener implements Listener {
|
|||||||
RSServerAdmin.getInstance()
|
RSServerAdmin.getInstance()
|
||||||
.getLogger()
|
.getLogger()
|
||||||
.warning(
|
.warning(
|
||||||
"Failed to prevent Creeper fuse: "
|
"Failed to reset Creeper fuse ticks: "
|
||||||
+ ex.getMessage()
|
+ ex.getMessage()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user