Skip to content

Commit

Permalink
Merge pull request #74 from dmccoystephenson/move-handler
Browse files Browse the repository at this point in the history
Implemented MoveHandler.java
  • Loading branch information
dmccoystephenson authored Sep 10, 2021
2 parents 54641d5 + 4a39d4a commit 6b2549a
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 0 deletions.
2 changes: 2 additions & 0 deletions src/main/java/dansplugins/fiefs/EventRegistry.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import dansplugins.fiefs.eventhandlers.FactionEventHandler;
import dansplugins.fiefs.eventhandlers.InteractionHandler;
import dansplugins.fiefs.eventhandlers.MoveHandler;
import org.bukkit.plugin.PluginManager;

public class EventRegistry {
Expand All @@ -26,5 +27,6 @@ public void registerEvents() {

manager.registerEvents(new FactionEventHandler(), mainInstance);
manager.registerEvents(new InteractionHandler(), mainInstance);
manager.registerEvents(new MoveHandler(), mainInstance);
}
}
75 changes: 75 additions & 0 deletions src/main/java/dansplugins/fiefs/eventhandlers/MoveHandler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
package dansplugins.fiefs.eventhandlers;

import dansplugins.fiefs.Fiefs;
import dansplugins.fiefs.MedievalFactionsIntegrator;
import dansplugins.fiefs.managers.ChunkManager;
import dansplugins.fiefs.objects.ClaimedChunk;
import org.bukkit.ChatColor;
import org.bukkit.Chunk;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.block.BlockFromToEvent;
import org.bukkit.event.player.PlayerMoveEvent;

public class MoveHandler implements Listener {

@EventHandler()
public void handle(PlayerMoveEvent event) {
Player player = event.getPlayer();

ClaimedChunk fromChunk = ChunkManager.getInstance().getClaimedChunk(event.getFrom().getChunk());
if (event.getTo() == null) {
return;
}
ClaimedChunk toChunk = ChunkManager.getInstance().getClaimedChunk(event.getTo().getChunk());

// if moving from unclaimed land into claimed land
if (fromChunk == null && toChunk != null) {
player.sendMessage(ChatColor.GREEN + "Entering " + toChunk.getFief());
return;
}

// if moving from claimed land into claimed land
if (fromChunk != null && toChunk != null) {
// if the holders of the chunks are different
if (!fromChunk.getFief().equalsIgnoreCase(toChunk.getFief())) {
player.sendMessage(ChatColor.AQUA + "Entering " + toChunk.getFief());
return;
}
}

// if moving into unclaimed land
if (fromChunk != null && toChunk == null) {
if (MedievalFactionsIntegrator.getInstance().getAPI().isChunkClaimed(event.getTo().getChunk())) {
player.sendMessage(ChatColor.AQUA + "Leaving " + fromChunk.getFief());
}
}

}

@EventHandler()
public void handle(BlockFromToEvent event) {
// this event handler method will deal with liquid moving from one block to another

ClaimedChunk fromChunk = ChunkManager.getInstance().getClaimedChunk(event.getBlock().getChunk());
ClaimedChunk toChunk = ChunkManager.getInstance().getClaimedChunk(event.getToBlock().getChunk());

// if moving from unclaimed land into claimed land
if (fromChunk == null && toChunk != null) {
event.setCancelled(true);
return;
}

// if moving from claimed land into claimed land
if (fromChunk != null && toChunk != null) {
// if the holders of the chunks are different
if (!fromChunk.getFief().equalsIgnoreCase(toChunk.getFief())) {
event.setCancelled(true);
return;
}
}

}

}

0 comments on commit 6b2549a

Please sign in to comment.