Skip to content

Commit

Permalink
Merge pull request #9 from Realizedd/dev
Browse files Browse the repository at this point in the history
Release v1.2.0 - New Reset Mode & Bug FIxes
  • Loading branch information
Realizedd authored Apr 13, 2022
2 parents 8892b11 + a5202cd commit 36fc694
Show file tree
Hide file tree
Showing 33 changed files with 977 additions and 591 deletions.
2 changes: 2 additions & 0 deletions arenaregen/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ dependencies {
implementation project(':v1_16_R3')
implementation project(':v1_17_R1')
implementation project(':v1_18_R1')
implementation project(':v1_18_R2')
}

shadowJar {
Expand All @@ -45,6 +46,7 @@ shadowJar {
include(dependency(':v1_16_R3'))
include(dependency(':v1_17_R1'))
include(dependency(':v1_18_R1'))
include(dependency(':v1_18_R2'))
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import me.realized.de.arenaregen.selection.SelectionManager;
import me.realized.de.arenaregen.util.CompatUtil;
import me.realized.de.arenaregen.util.ReflectionUtil;
import me.realized.de.arenaregen.zone.ResetZoneManager;
import me.realized.de.arenaregen.zone.ZoneManager;
import me.realized.duels.api.extension.DuelsExtension;

public class ArenaRegen extends DuelsExtension {
Expand All @@ -23,7 +23,7 @@ public class ArenaRegen extends DuelsExtension {
@Getter
private SelectionManager selectionManager;
@Getter
private ResetZoneManager zoneManager;
private ZoneManager zoneManager;

@Override
public void onEnable() {
Expand All @@ -34,7 +34,7 @@ public void onEnable() {
info("NMSHandler: Using " + handler.getClass().getName());

this.selectionManager = new SelectionManager(this, api);
this.zoneManager = new ResetZoneManager(this, api);
this.zoneManager = new ZoneManager(this, api);
api.registerSubCommand("duels", new ArenaregenCommand(this, api));
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import me.realized.de.arenaregen.ArenaRegen;
import me.realized.de.arenaregen.config.Lang;
import me.realized.de.arenaregen.selection.SelectionManager;
import me.realized.de.arenaregen.zone.ResetZoneManager;
import me.realized.de.arenaregen.zone.ZoneManager;
import me.realized.duels.api.Duels;
import me.realized.duels.api.arena.ArenaManager;
import org.bukkit.command.CommandSender;
Expand All @@ -14,7 +14,7 @@ public abstract class ARCommand {
protected final ArenaManager arenaManager;
protected final Lang lang;
protected final SelectionManager selectionManager;
protected final ResetZoneManager zoneManager;
protected final ZoneManager zoneManager;

@Getter
private final String name;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import me.realized.de.arenaregen.ArenaRegen;
import me.realized.de.arenaregen.command.ARCommand;
import me.realized.de.arenaregen.util.StringUtil;
import me.realized.de.arenaregen.zone.ResetZone;
import me.realized.de.arenaregen.zone.Zone;
import me.realized.duels.api.Duels;
import org.bukkit.command.CommandSender;

Expand All @@ -16,7 +16,7 @@ public ListCommand(final ArenaRegen extension, final Duels api) {

@Override
public void execute(final CommandSender sender, final String label, final String[] args) {
final Collection<ResetZone> zones = zoneManager.getZones();
final Collection<Zone> zones = zoneManager.getZones();

if (zones.isEmpty()) {
lang.sendMessage(sender, "ERROR.no-active-zones");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import me.realized.de.arenaregen.ArenaRegen;
import me.realized.de.arenaregen.command.ARCommand;
import me.realized.de.arenaregen.zone.ResetZone;
import me.realized.de.arenaregen.zone.Zone;
import me.realized.duels.api.Duels;
import me.realized.duels.api.arena.Arena;
import org.apache.commons.lang.StringUtils;
Expand All @@ -24,7 +24,7 @@ public void execute(final CommandSender sender, final String label, final String
return;
}

final ResetZone zone = zoneManager.get(name);
final Zone zone = zoneManager.get(name);

if (zone == null) {
lang.sendMessage(sender, "ERROR.zone-not-found", "name", name);
Expand All @@ -34,6 +34,6 @@ public void execute(final CommandSender sender, final String label, final String
lang.sendMessage(sender, "COMMAND.arenaregen.reset.start", "name", name);
zone.reset(() -> {
lang.sendMessage(sender, "COMMAND.arenaregen.reset.end", "name", name);
});
}, true);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ public class Config {
@Getter
private final Material selectingTool;
@Getter
private final boolean trackBlockChanges;
@Getter
private final int blocksPerTick;
@Getter
private final boolean allowArenaBlockBreak;
Expand All @@ -35,11 +37,12 @@ public class Config {
public Config(final ArenaRegen extension) {
final FileConfiguration config = extension.getConfig();
this.selectingTool = Material.getMaterial(config.getString("selecting-tool", "IRON_AXE"));
this.trackBlockChanges = config.getBoolean("experimental.track-block-changes", false);
this.allowArenaBlockBreak = config.getBoolean("allow-arena-block-break", false);
this.blocksPerTick = config.getInt("blocks-per-tick", 25);
blockResetHandlerVersion = config.getString("block-reset-handler-version", "auto");
this.blockResetHandlerVersion = config.getString("block-reset-handler-version", "auto");
this.removeDroppedItems = config.getBoolean("remove-dropped-items", true);
this.removeEntities = config.isList("remove-entities") ? config.getStringList("remove-entities") : Collections.emptyList();
this.removeEntities = config.isList("remove-entities") ? config.getStringList("remove-entities") : Collections.singletonList("ENDER_CRYSTAL");
this.preventBlockBurn = config.getBoolean("prevent-block-burn", true);
this.preventBlockMelt = config.getBoolean("prevent-block-melt", true);
this.preventBlockExplode = config.getBoolean("prevent-block-explode", true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,7 @@ public void setBlockFast(final Block block, final Material material, final int d
} catch (IllegalAccessException | InvocationTargetException ignored) {}
}
}

@Override
public void updateLighting(Block bukkitBlock) {}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package me.realized.de.arenaregen.util;

import java.util.function.Consumer;

import org.bukkit.Location;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;

public final class BlockUtil {

public static boolean isSurrounded(final Block block) {
final Block east = block.getRelative(BlockFace.EAST);
final Block west = block.getRelative(BlockFace.WEST);
final Block south = block.getRelative(BlockFace.SOUTH);
final Block north = block.getRelative(BlockFace.NORTH);
final Block up = block.getRelative(BlockFace.UP);
final Block down = block.getRelative(BlockFace.DOWN);
return !east.getType().isTransparent()
&& !west.getType().isTransparent()
&& !up.getType().isTransparent()
&& !down.getType().isTransparent()
&& !south.getType().isTransparent()
&& !north.getType().isTransparent();
}

public static void runForCuboid(final Location min, final Location max, final Consumer<Block> consumer) {
for (int x = min.getBlockX(); x <= max.getBlockX(); x++) {
for (int y = min.getBlockY(); y <= max.getBlockY(); y++) {
for (int z = min.getBlockZ(); z <= max.getBlockZ(); z++) {
consumer.accept(min.getWorld().getBlockAt(x, y, z));
}
}
}
}

private BlockUtil() {}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
package me.realized.de.arenaregen.util;

import java.util.Objects;

import org.bukkit.Chunk;

import lombok.Getter;

public class ChunkLoc {

@Getter
private final int x, z;

public ChunkLoc(final int x, final int z) {
this.x = x;
this.z = z;
}

public ChunkLoc(final Chunk chunk) {
this(chunk.getX(), chunk.getZ());
}

@Override
public boolean equals(final Object o) {
if (this == o) { return true; }
if (o == null || getClass() != o.getClass()) { return false; }
final ChunkLoc chunkLoc = (ChunkLoc) o;
return x == chunkLoc.x && z == chunkLoc.z;
}

@Override
public int hashCode() {
return Objects.hash(x, z);
}

@Override
public String toString() {
return "{" + x + "," + z + "}";
}
}
Original file line number Diff line number Diff line change
@@ -1,21 +1,16 @@
package me.realized.de.arenaregen.util;

import lombok.Getter;
import org.bukkit.Bukkit;

public final class CompatUtil {

private static final int SUB_VERSION;
private static final boolean PAPER_SPIGOT;

@Getter
private static final boolean BLOCK_EXPLODE_EVENT;

static {
final String packageName = Bukkit.getServer().getClass().getPackage().getName();
SUB_VERSION = NumberUtil.parseInt(packageName.substring(packageName.lastIndexOf('.') + 1).split("_")[1]).orElse(0);
PAPER_SPIGOT = ReflectionUtil.getClassUnsafe("com.destroystokyo.paper.PaperConfig") != null || ReflectionUtil.getClassUnsafe("org.github.paperspigot.PaperSpigotConfig") != null;
BLOCK_EXPLODE_EVENT = ReflectionUtil.getClassUnsafe("org.bukkit.event.block.BlockExplodeEvent") != null;
}

private CompatUtil() {}
Expand All @@ -35,8 +30,4 @@ public static boolean isPre1_14() {
public static boolean isPaper() {
return PAPER_SPIGOT;
}

public static boolean hasBlockExplodeEvent() {
return BLOCK_EXPLODE_EVENT;
}
}
Loading

0 comments on commit 36fc694

Please sign in to comment.