Skip to content

Commit

Permalink
progress
Browse files Browse the repository at this point in the history
  • Loading branch information
MatzHilven committed Jun 23, 2024
1 parent c6ac839 commit 6a50bf1
Show file tree
Hide file tree
Showing 28 changed files with 66 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.PlotFlag;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.models.PlotFlag;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentString;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.ClaimResult;
import com.slampvp.factory.plot.models.ClaimResult;
import com.slampvp.factory.plot.PlotManager;
import net.minestom.server.entity.Player;

Expand All @@ -20,11 +20,12 @@ public AutoCommand() {
@Override
public void init() {
addSyntax((sender, context) -> {
PlotManager plotManager = PlotManager.getInstance();
Player player = (Player) sender;
ClaimResult claimResult = PlotManager.getInstance().claimFreePlot(player);
ClaimResult claimResult = plotManager.claimFreePlot(player);

if (Objects.requireNonNull(claimResult) == ClaimResult.SUCCESS) {
PlotManager.getInstance().getPlot(player.getPosition()).ifPresent(plot -> player.teleport(plot.getSpawn()));
player.teleport(plotManager.getPlots(player).getLast().getSpawn());
sender.sendMessage(Locale.Plot.CLAIMED);
} else {
FactoryServer.LOGGER.error("This should not happen.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.slampvp.factory.common.Constants;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,10 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.ClaimResult;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.PlotGenerator;
import com.slampvp.factory.plot.models.ClaimResult;
import com.slampvp.factory.plot.PlotManager;
import net.minestom.server.entity.Player;

import java.util.Optional;

@Command(description = "Claim a new plot at your location.", usage = "/plot claim", minimumRank = Rank.DEFAULT, playerOnly = true)
public class ClaimCommand extends FactoryCommand {
public ClaimCommand() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.*;
import com.slampvp.factory.plot.models.Plot;
import net.minestom.server.entity.Player;

import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,8 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.PlotFlag;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentType;
import net.minestom.server.command.builder.arguments.minecraft.ArgumentEntity;
import net.minestom.server.entity.Player;

import java.util.Optional;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import com.slampvp.factory.common.Constants;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.ClaimResult;
import com.slampvp.factory.plot.MergeResult;
import com.slampvp.factory.plot.models.MergeResult;
import com.slampvp.factory.plot.PlotManager;
import net.minestom.server.entity.Player;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.PlotFlag;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentString;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.minestom.server.entity.Player;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.entity.Player;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.PlotFlag;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.models.PlotFlag;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentType;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.ClaimResult;
import com.slampvp.factory.plot.PlotManager;
import com.slampvp.factory.plot.UnClaimResult;
import com.slampvp.factory.plot.models.UnClaimResult;
import net.minestom.server.entity.Player;

@Command(description = "Un-claim a plot.", usage = "/plot unclaim", minimumRank = Rank.DEFAULT, playerOnly = true)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import com.slampvp.factory.command.FactoryCommand;
import com.slampvp.factory.common.Locale;
import com.slampvp.factory.player.Rank;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.PlotManager;
import net.kyori.adventure.text.TextReplacementConfig;
import net.minestom.server.command.builder.arguments.ArgumentString;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;

public class DatabaseFormatter {
public final class DatabaseFormatter {
public static String pointToString(Point point) {
if (point instanceof Vec vec) {
return "(" + vec.x() + "," + vec.y() + "," + vec.z() + ")";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import java.util.concurrent.Executors;
import java.util.function.Consumer;

public class DatabaseManager {
public final class DatabaseManager {
private static DatabaseManager instance;
private final HikariDataSource dataSource;
private final ExecutorService executor;
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/com/slampvp/factory/plot/PlotGenerator.java
Original file line number Diff line number Diff line change
@@ -1,19 +1,17 @@
package com.slampvp.factory.plot;

import com.slampvp.factory.common.Constants;
import com.slampvp.factory.plot.models.Plot;
import net.minestom.server.coordinate.BlockVec;
import net.minestom.server.coordinate.Point;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;
import net.minestom.server.entity.Player;
import net.minestom.server.instance.Instance;
import net.minestom.server.instance.batch.AbsoluteBlockBatch;
import net.minestom.server.instance.block.Block;
import net.minestom.server.instance.generator.Generator;
import org.jetbrains.annotations.NotNull;

import java.awt.event.WindowStateListener;

public final class PlotGenerator {
public static @NotNull Generator getGenerator() {
return unit -> {
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/slampvp/factory/plot/PlotListener.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package com.slampvp.factory.plot;

import com.slampvp.factory.common.Constants;
import com.slampvp.factory.plot.models.Plot;
import net.minestom.server.MinecraftServer;
import net.minestom.server.coordinate.BlockVec;
import net.minestom.server.entity.Player;
Expand Down
32 changes: 29 additions & 3 deletions src/main/java/com/slampvp/factory/plot/PlotManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,13 @@
import com.slampvp.factory.database.DatabaseFormatter;
import com.slampvp.factory.database.DatabaseManager;
import com.slampvp.factory.database.queries.PlotQueries;
import com.slampvp.factory.plot.models.*;
import net.minestom.server.coordinate.Point;
import net.minestom.server.coordinate.Pos;
import net.minestom.server.coordinate.Vec;
import net.minestom.server.entity.Player;
import net.minestom.server.network.packet.server.play.ParticlePacket;
import net.minestom.server.particle.Particle;

import java.sql.SQLException;
import java.sql.Types;
Expand Down Expand Up @@ -193,11 +196,17 @@ public MergeResult mergePlot(Player player) {
Plot plot = optionalPlot.get();

Vec direction = position.direction();
player.sendMessage(direction.toString());
Vec offset = direction.mul(Constants.Plot.FULL_WIDTH);

player.sendMessage(offset.toString());

Vec center = plot.getCenter();
player.sendMessage(center.toString());
Vec targetCenter = center.add(offset);

player.sendMessage(targetCenter.toString());

PlotId targetId = new PlotId(
Math.floorDiv(targetCenter.blockX(), Constants.Plot.FULL_WIDTH),
Math.floorDiv(targetCenter.blockZ(), Constants.Plot.FULL_WIDTH)
Expand All @@ -212,11 +221,28 @@ public MergeResult mergePlot(Player player) {
return MergeResult.NO_MERGE_CANDIDATE;
}



Plot targetPlot = optionalTargetPlot.get();
plot.mergeWith(targetPlot);

PlotGenerator.setPlotBorder(plot, player.getInstance());
plots.remove(targetPlot);
ParticlePacket packet = new ParticlePacket(
Particle.WHITE_SMOKE,
center.x(),
center.y(),
center.z(),
0,
0,
0,
1,
1
);

player.sendPacket(packet);

// plot.mergeWith(targetPlot);

// PlotGenerator.setPlotBorder(plot, player.getInstance());
// plots.remove(targetPlot);

return MergeResult.SUCCESS;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.slampvp.factory.plot;
package com.slampvp.factory.plot.models;

public enum ClaimResult {
NOT_IN_PLOT,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.slampvp.factory.plot;
package com.slampvp.factory.plot.models;

public enum MergeResult {
NOT_IN_PLOT,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.slampvp.factory.plot;
package com.slampvp.factory.plot.models;

import com.slampvp.factory.common.Constants;
import net.minestom.server.coordinate.Point;
Expand Down Expand Up @@ -88,6 +88,9 @@ public void mergeWith(@NotNull Plot targetPlot) {
throw new IllegalArgumentException("Cannot merge plots with different owners");
}

System.out.println(getStart() + " " + getEnd());
System.out.println(targetPlot.getStart() + " " + targetPlot.getEnd());

this.end = targetPlot.getEnd();
this.spawn = this.start.add(this.end).div(2).add(0.5).withY(Constants.HEIGHT + 1).asPosition();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.slampvp.factory.plot;
package com.slampvp.factory.plot.models;

import java.util.EnumMap;
import java.util.Map;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.slampvp.factory.plot;
package com.slampvp.factory.plot.models;

public record PlotId(int x, int z) {
public int getSum() {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.slampvp.factory.plot;
package com.slampvp.factory.plot.models;

public enum UnClaimResult {
NOT_IN_PLOT,
Expand Down
11 changes: 3 additions & 8 deletions src/test/java/com/slampvp/factory/PlotTest.java
Original file line number Diff line number Diff line change
@@ -1,17 +1,12 @@
package com.slampvp.factory;

import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.slampvp.factory.plot.Plot;
import com.slampvp.factory.plot.PlotFlag;
import com.slampvp.factory.plot.PlotId;
import net.minestom.server.coordinate.Pos;
import com.slampvp.factory.plot.models.Plot;
import com.slampvp.factory.plot.models.PlotFlag;
import com.slampvp.factory.plot.models.PlotId;
import net.minestom.server.coordinate.Vec;
import org.junit.Test;

import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.UUID;

Expand Down

0 comments on commit 6a50bf1

Please sign in to comment.