Compare commits

..
11 Commits
13 changed files with 47 additions and 24 deletions

No files matched your search

+2 -1
View File
@@ -100,8 +100,9 @@ tasks {
relocate("io.papermc.lib", "${base}.paperlib")
relocate("io.github.bakedlibs.dough", "${base}.dough")
relocate("com.google.inject", "${base}.inject")
relocate("com.google.errorprone", "${base}.errorprone")
relocate("org.aopalliance", "${base}.aopalliance")
relocate("javax.annotation", "${base}.javax.annotation")
relocate("javax.inject", "${base}.javax.inject")
relocate("jakarta.inject", "${base}.jakarta.inject")
}
}
@@ -271,7 +271,7 @@ public final class AreaShop extends JavaPlugin implements AreaShopApi {
featureManager = injector.getInstance(FeatureManager.class);
featureManager.initializeFeatures(injector);
managers.add(featureManager);
signManager = new SignManager();
signManager = injector.getInstance(SignManager.class);
managers.add(signManager);
// Register the event listeners
@@ -304,7 +304,7 @@ public final class AreaShop extends JavaPlugin implements AreaShopApi {
return;
}
AreaShop.info("Update from AreaShop V" + cleanVersion(result.getCurrentVersion()) + " to AreaShop V" + cleanVersion(result.getLatestVersion()) + " available, get the latest version at https://github.com/md5sha256/releases");
AreaShop.info("Update from AreaShop V" + cleanVersion(result.getCurrentVersion()) + " to AreaShop V" + cleanVersion(result.getLatestVersion()) + " available, get the latest version at https://github.com/md5sha256/AreaShop/releases");
for(Player player : Utils.getOnlinePlayers()) {
notifyUpdate(player);
}
@@ -3,6 +3,7 @@ package me.wiefferink.areashop.features.signs;
import io.github.bakedlibs.dough.blocks.BlockPosition;
import io.github.bakedlibs.dough.blocks.ChunkPosition;
import org.bukkit.Location;
import org.bukkit.World;
import java.util.ArrayList;
import java.util.Collection;
@@ -52,8 +53,9 @@ public class SignCache {
public Optional<RegionSign> removeSign(BlockPosition position) {
RegionSign removed = this.allSigns.remove(position.getPosition());
if (removed != null) {
Location location = position.toLocation();
this.signsByChunk.remove(new ChunkPosition(location).getPosition());
World world = position.getWorld();
ChunkPosition chunkPosition = new ChunkPosition(world, position.getChunkX(), position.getChunkZ());
this.signsByChunk.remove(chunkPosition.getPosition());
// Remove the sign from the region
}
return Optional.ofNullable(removed);
@@ -73,8 +73,8 @@ public class SignListener implements Listener {
@EventHandler(ignoreCancelled = true, priority = EventPriority.MONITOR)
public void regionUpdate(UpdateRegionEvent event) {
Optional<SignsFeature> signsFeature = event.getRegion().getFeature(SignsFeature.class);
signsFeature.map(SignsFeature::signManager).ifPresent(SignManager::update);
SignsFeature signsFeature = event.getRegion().getSignsFeature();
signsFeature.signManager().update();
}
@@ -64,7 +64,11 @@ public class SignManager extends Manager {
if (location == null || location.getWorld() == null) {
return Optional.empty();
}
return getCacheForWorld(location.getWorld()).flatMap(cache -> cache.removeSign(location));
return removeSign(new BlockPosition(location));
}
public Optional<RegionSign> removeSign(BlockPosition blockPosition) {
return getCacheForWorld(blockPosition.getWorld()).flatMap(cache -> cache.removeSign(blockPosition));
}
/**
@@ -73,9 +77,10 @@ public class SignManager extends Manager {
*/
public boolean update() {
boolean result = true;
for (SignCache signCache : this.signCacheMap.values())
for(RegionSign sign : signCache.allSigns()) {
result &= sign.update();
for (SignCache signCache : this.signCacheMap.values()) {
for (RegionSign sign : signCache.allSigns()) {
result &= sign.update();
}
}
return result;
}
@@ -12,6 +12,8 @@ import me.wiefferink.areashop.events.ask.AddingRegionEvent;
import me.wiefferink.areashop.events.ask.DeletingRegionEvent;
import me.wiefferink.areashop.events.notify.AddedRegionEvent;
import me.wiefferink.areashop.events.notify.DeletedRegionEvent;
import me.wiefferink.areashop.features.signs.SignManager;
import me.wiefferink.areashop.features.signs.SignsFeature;
import me.wiefferink.areashop.interfaces.WorldGuardInterface;
import me.wiefferink.areashop.regions.BuyRegion;
import me.wiefferink.areashop.regions.GeneralRegion;
@@ -77,6 +79,8 @@ public class FileManager extends Manager implements IFileManager {
private HashMap<String, Integer> versions = null;
private final String versionPath;
private final String schemFolder;
private final SignManager signManager;
private final WorldGuardInterface worldGuardInterface;
private final MessageBridge messageBridge;
private final RegionFactory regionFactory;
@@ -89,12 +93,14 @@ public class FileManager extends Manager implements IFileManager {
@Nonnull AreaShop plugin,
@Nonnull WorldGuardInterface worldGuardInterface,
@Nonnull MessageBridge messageBridge,
@Nonnull RegionFactory regionFactory
@Nonnull RegionFactory regionFactory,
@Nonnull SignManager signManager
) {
this.plugin = plugin;
this.worldGuardInterface = worldGuardInterface;
this.messageBridge = messageBridge;
this.regionFactory = regionFactory;
this.signManager = signManager;
regions = new HashMap<>();
buys = new HashMap<>();
rents = new HashMap<>();
@@ -469,8 +475,11 @@ public class FileManager extends Manager implements IFileManager {
// Delete the signs
if(region.getWorld() != null) {
for(BlockPosition sign : region.getSignsFeature().signManager().allSignLocations()) {
SignManager regionSignManager = region.getSignsFeature().signManager();
for(BlockPosition sign : regionSignManager.allSignLocations()) {
sign.getBlock().setType(Material.AIR);
regionSignManager.removeSign(sign);
this.signManager.removeSign(sign);
}
}
@@ -943,7 +952,9 @@ public class FileManager extends Manager implements IFileManager {
*/
@Override
public void loadRegionFiles() {
regions.clear();
this.regions.clear();
this.buys.clear();
this.rents.clear();
final File file = new File(regionsPath);
if(!file.exists()) {
if(!file.mkdirs()) {
@@ -6,6 +6,7 @@ import com.google.inject.assistedinject.FactoryModuleBuilder;
import me.wiefferink.areashop.AreaShop;
import me.wiefferink.areashop.MessageBridge;
import me.wiefferink.areashop.features.FeatureFactory;
import me.wiefferink.areashop.features.signs.SignManager;
import me.wiefferink.areashop.features.signs.SignsModule;
import me.wiefferink.areashop.interfaces.WorldEditInterface;
import me.wiefferink.areashop.interfaces.WorldGuardInterface;
@@ -58,6 +59,7 @@ public class AreaShopModule extends AbstractModule {
bind(AreaShop.class).toInstance(this.instance);
bind(MessageBridge.class).toInstance(this.messageBridge);
bind(WorldGuardInterface.class).toInstance(this.worldGuardInterface);
bind(SignManager.class).asEagerSingleton();
bind(WorldEditInterface.class).toInstance(this.worldEditInterface);
bind(SignErrorLogger.class).toInstance(this.signErrorLogger);
// Setup managers
@@ -408,8 +408,6 @@ public class BuyRegion extends GeneralRegion {
if(r == null || !r.transactionSuccess()) {
AreaShop.warn("Something went wrong with paying '" + oldOwnerName + "' " + getFormattedPrice() + " for his resell of region " + getName() + " to " + offlinePlayer.getName());
}
// Resell is done, disable that now
disableReselling();
// Set the owner
setBuyer(offlinePlayer.getUniqueId());
@@ -421,6 +419,9 @@ public class BuyRegion extends GeneralRegion {
// Notify about updates
this.notifyAndUpdate(new ResoldRegionEvent(this, oldOwner));
// Resell is done, disable that now
disableReselling();
// Send message to the player
message(offlinePlayer, "buy-successResale", oldOwnerName);
Player seller = Bukkit.getPlayer(oldOwner);
@@ -1,5 +1,5 @@
dependencies {
compileOnly("io.papermc.paper:paper-api:1.20.1-R0.1-SNAPSHOT")
compileOnly("io.papermc.paper:paper-api:1.20.2-R0.1-SNAPSHOT")
compileOnly(projects.areashopInterface)
compileOnly(projects.areashopNms)
}
@@ -1,4 +1,4 @@
package me.wiefferink.areashop.adapters.platform.v1_20_R1;
package me.wiefferink.areashop.adapters.platform.v1_20_R2;
import me.wiefferink.areashop.nms.BlockBehaviourHelper;
import org.bukkit.Location;
@@ -1,4 +1,4 @@
package me.wiefferink.areashop.adapters.platform.v1_20_R1;
package me.wiefferink.areashop.adapters.platform.v1_20_R2;
import me.wiefferink.areashop.nms.BlockBehaviourHelper;
import me.wiefferink.areashop.nms.NMS;
+1 -1
View File
@@ -12,7 +12,7 @@ plugins {
}
group = "me.wiefferink"
version = "2.7.13"
version = "2.7.14-SNAPSHOT"
java.toolchain.languageVersion.set(JavaLanguageVersion.of(17))
+5 -4
View File
@@ -27,12 +27,13 @@ include(":adapters:plugins:fastasyncworldedit")
if (!providers.environmentVariable("JITPACK").isPresent) {
include(":adapters:platform:bukkit-1-17")
include(":adapters:platform:bukkit-1-18")
include(":adapters:platform:bukkit-1-19")
include(":adapters:platform:bukkit-1-20")
}
include(":adapters:platform:bukkit-1-18")
include(":adapters:platform:bukkit-1-19")
include(":adapters:platform:bukkit-1-20")
// Main project
include(":areashop")