Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ target/
*.project
*.classpath
*.prefs
*.iml
.idea
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@

package autosaveworld.features.purge.plugins.wg;

import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldguard.WorldGuard;
import org.bukkit.World;

import com.sk89q.worldguard.bukkit.WGBukkit;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;

Expand All @@ -43,7 +44,7 @@ public boolean doNotQueue() {

@Override
public void performTask() {
RegionManager rm = WGBukkit.getRegionManager(world);
RegionManager rm = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(world));
MessageLogger.debug("Deleting region " + region.getId());
rm.removeRegion(region.getId());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@

package autosaveworld.features.purge.plugins.wg;

import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldguard.WorldGuard;
import org.bukkit.World;

import com.sk89q.worldguard.bukkit.WGBukkit;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;

Expand All @@ -46,7 +47,7 @@ public boolean doNotQueue() {

@Override
public void performTask() {
RegionManager rm = WGBukkit.getRegionManager(world);
RegionManager rm = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(world));
if (!(noregenoverlap && (rm.getApplicableRegions(region).size() > 1))) {
MessageLogger.debug("Regenerating region " + region.getId());
WorldEditRegeneration.get().regenerateRegion(world, region.getMinimumPoint(), region.getMaximumPoint());
Expand Down
5 changes: 3 additions & 2 deletions src/autosaveworld/features/purge/plugins/wg/WGPurge.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,11 @@
import java.util.ArrayList;
import java.util.UUID;

import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldguard.WorldGuard;
import org.bukkit.Bukkit;
import org.bukkit.World;

import com.sk89q.worldguard.bukkit.WGBukkit;
import com.sk89q.worldguard.domains.DefaultDomain;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
Expand All @@ -45,7 +46,7 @@ public void doPurge() {
try (TaskExecutor queue = new TaskExecutor(30)) {
for (World w : Bukkit.getWorlds()) {
MessageLogger.debug("Checking WG protections in world " + w.getName());
RegionManager regionmanager = WGBukkit.getRegionManager(w);
RegionManager regionmanager = WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(w));
ArrayList<ProtectedRegion> regions = new ArrayList<ProtectedRegion>(regionmanager.getRegions().values());
for (ProtectedRegion rg : regions) {
MessageLogger.debug("Checking region " + rg.getId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,42 +20,42 @@
import java.util.Iterator;
import java.util.LinkedList;

import com.sk89q.worldedit.WorldEdit;
import com.sk89q.worldedit.blocks.Blocks;
import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockTypes;
import org.bukkit.Material;
import org.bukkit.World;

import com.sk89q.worldedit.EditSession;
import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.Vector2D;
import com.sk89q.worldedit.blocks.BaseBlock;
import com.sk89q.worldedit.blocks.BlockType;
import com.sk89q.worldedit.bukkit.BukkitWorld;
import com.sk89q.worldedit.regions.CuboidRegion;
import com.sk89q.worldedit.regions.Region;
import com.sk89q.worldguard.bukkit.BukkitUtil;

import autosaveworld.core.logging.MessageLogger;
import autosaveworld.features.purge.weregen.UtilClasses.BlockToPlaceBack;
import autosaveworld.features.purge.weregen.UtilClasses.ItemSpawnListener;
import autosaveworld.features.purge.weregen.WorldEditRegeneration.WorldEditRegenrationInterface;
import autosaveworld.utils.BukkitUtils;

//TODO: Migrate to new WorldEdit API
public class BukkitAPIWorldEditRegeneration implements WorldEditRegenrationInterface {

private ItemSpawnListener itemremover = new ItemSpawnListener();

@Override
public void regenerateRegion(World world, org.bukkit.util.Vector minpoint, org.bukkit.util.Vector maxpoint) {
Vector minbpoint = BukkitUtil.toVector(minpoint);
Vector maxbpoint = BukkitUtil.toVector(maxpoint);
Vector minbpoint = new Vector(minpoint.getX(), minpoint.getY(), minpoint.getZ());
Vector maxbpoint = new Vector(maxpoint.getX(), maxpoint.getY(), maxpoint.getZ());
regenerateRegion(world, minbpoint, maxbpoint);
}

@Override
@SuppressWarnings("deprecation")
public void regenerateRegion(World world, Vector minpoint, Vector maxpoint) {
BukkitWorld bw = new BukkitWorld(world);
EditSession es = new EditSession(bw, Integer.MAX_VALUE);
EditSession es = WorldEdit.getInstance().getEditSessionFactory().getEditSession(bw, Integer.MAX_VALUE);
es.setFastMode(true);
int maxy = bw.getMaxY() + 1;
Region region = new CuboidRegion(bw, minpoint, maxpoint);
Expand All @@ -72,7 +72,7 @@ public void regenerateRegion(World world, Vector minpoint, Vector maxpoint) {
for (int z = 0; z < 16; ++z) {
Vector pt = min.add(x, y, z);
if (!region.contains(pt)) {
placeBackQueue.add(new BlockToPlaceBack(pt, es.getBlock(pt)));
placeBackQueue.add(new BlockToPlaceBack(pt, es.getBlock(pt).toBaseBlock()));
}
}
}
Expand Down Expand Up @@ -104,21 +104,22 @@ public void regenerateRegion(World world, Vector minpoint, Vector maxpoint) {
new PlaceBackStage(new PlaceBackStage.PlaceBackCheck() {
@Override
public boolean shouldPlaceBack(BaseBlock block) {
return !BlockType.shouldPlaceLast(block.getId()) && !BlockType.shouldPlaceFinal(block.getId());
//Blocks.shouldPlaceLast(block.getBlockType())
return !Blocks.shouldPlaceLast(block.getBlockType()) && !Blocks.shouldPlaceFinal(block.getBlockType());
}
}),
// last stage place back
new PlaceBackStage(new PlaceBackStage.PlaceBackCheck() {
@Override
public boolean shouldPlaceBack(BaseBlock block) {
return BlockType.shouldPlaceLast(block.getId());
return Blocks.shouldPlaceLast(block.getBlockType());
}
}),
// final stage place back
new PlaceBackStage(new PlaceBackStage.PlaceBackCheck() {
@Override
public boolean shouldPlaceBack(BaseBlock block) {
return BlockType.shouldPlaceFinal(block.getId());
return Blocks.shouldPlaceFinal(block.getBlockType());
}
})
};
Expand Down Expand Up @@ -146,7 +147,7 @@ public void processBlockPlaceBack(World world, EditSession es, LinkedList<BlockT
// set block to air to fix one really weird problem
world.getBlockAt(pt.getBlockX(), pt.getBlockY(), pt.getBlockZ()).setType(Material.AIR);
// set block back if it is not air
if (!block.isAir()) {
if (!block.getBlockType().equals(BlockTypes.AIR)) {
es.rawSetBlock(pt, block);
}
} catch (Exception t) {
Expand Down
3 changes: 2 additions & 1 deletion src/autosaveworld/features/purge/weregen/UtilClasses.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@

package autosaveworld.features.purge.weregen;

import com.sk89q.worldedit.world.block.BaseBlock;
import com.sk89q.worldedit.world.block.BlockState;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.ItemSpawnEvent;

import com.sk89q.worldedit.Vector;
import com.sk89q.worldedit.blocks.BaseBlock;

public class UtilClasses {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@

package autosaveworld.features.worldregen.plugins;

import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldguard.WorldGuard;
import org.bukkit.World;

import com.sk89q.worldguard.bukkit.WGBukkit;
import com.sk89q.worldguard.protection.regions.GlobalProtectedRegion;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;

Expand All @@ -31,7 +32,7 @@ public WorldGuardDataProvider(World world) throws Throwable {

@Override
protected void init() {
for (ProtectedRegion region : WGBukkit.getRegionManager(world).getRegions().values()) {
for (ProtectedRegion region : WorldGuard.getInstance().getPlatform().getRegionContainer().get(BukkitAdapter.adapt(world)).getRegions().values()) {
if (region instanceof GlobalProtectedRegion) {
continue;
}
Expand Down
2 changes: 1 addition & 1 deletion src/plugin.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: AutoSaveWorld
main: autosaveworld.core.AutoSaveWorld
version: 4.15
version: 4.16
author: _Shevchik_
load: STARTUP
commands:
Expand Down