mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-08-02 12:35:27 +02:00
Fixing like 10 memory leaks Fixes #4670
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
package com.gmail.nossr50.runnables;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.MetadataConstants;
|
||||
import org.bukkit.entity.Mob;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class MobDodgeMetaCleanup extends BukkitRunnable {
|
||||
private final @NotNull Mob mob;
|
||||
private final @NotNull mcMMO pluginRef;
|
||||
|
||||
public MobDodgeMetaCleanup(@NotNull Mob mob, @NotNull mcMMO pluginRef) {
|
||||
this.mob = mob;
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if(!mob.isValid() || mob.getTarget() == null) {
|
||||
mob.removeMetadata(MetadataConstants.METADATA_KEY_DODGE_TRACKER, pluginRef);
|
||||
this.cancel();
|
||||
} else if (!mob.hasMetadata(MetadataConstants.METADATA_KEY_DODGE_TRACKER)) {
|
||||
this.cancel();
|
||||
}
|
||||
}
|
||||
}
|
@@ -14,9 +14,9 @@ public class MobHealthDisplayUpdaterTask extends BukkitRunnable {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (target.hasMetadata(MetadataConstants.METADATA_KEY_CUSTOM_NAME_KEY)) {
|
||||
target.setCustomName(target.getMetadata(MetadataConstants.METADATA_KEY_CUSTOM_NAME_KEY).get(0).asString());
|
||||
target.removeMetadata(MetadataConstants.METADATA_KEY_CUSTOM_NAME_KEY, mcMMO.p);
|
||||
if (target.hasMetadata(MetadataConstants.METADATA_KEY_CUSTOM_NAME)) {
|
||||
target.setCustomName(target.getMetadata(MetadataConstants.METADATA_KEY_CUSTOM_NAME).get(0).asString());
|
||||
target.removeMetadata(MetadataConstants.METADATA_KEY_CUSTOM_NAME, mcMMO.p);
|
||||
}
|
||||
|
||||
if (target.hasMetadata(MetadataConstants.METADATA_KEY_NAME_VISIBILITY)) {
|
||||
|
@@ -0,0 +1,27 @@
|
||||
package com.gmail.nossr50.runnables;
|
||||
|
||||
import com.gmail.nossr50.mcMMO;
|
||||
import com.gmail.nossr50.util.MetadataConstants;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class TravelingBlockMetaCleanup extends BukkitRunnable {
|
||||
private final @NotNull Entity entity;
|
||||
private final @NotNull mcMMO pluginRef;
|
||||
|
||||
public TravelingBlockMetaCleanup(@NotNull Entity entity, @NotNull mcMMO pluginRef) {
|
||||
this.entity = entity;
|
||||
this.pluginRef = pluginRef;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if(!entity.isValid()) {
|
||||
entity.removeMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK, pluginRef);
|
||||
this.cancel();
|
||||
} else if (!entity.hasMetadata(MetadataConstants.METADATA_KEY_TRAVELING_BLOCK)) {
|
||||
this.cancel();
|
||||
}
|
||||
}
|
||||
}
|
@@ -119,6 +119,7 @@ public class RuptureTask extends BukkitRunnable {
|
||||
//
|
||||
// targetEntity.removeMetadata(mcMMO.RUPTURE_META_KEY, mcMMO.p);
|
||||
|
||||
targetEntity.removeMetadata(MetadataConstants.METADATA_KEY_RUPTURE, mcMMO.p);
|
||||
this.cancel(); //Task no longer needed
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user