Skip to main content

Integration Examples

Real-world examples of integrating Vexor Core plugins.

Example 1: Automated Door Control

Integrate PivotPoly doors with redstone or other triggers:

public class AutoDoorPlugin extends JavaPlugin implements Listener {
private PivotPoly pivotPoly;

@Override
public void onEnable() {
pivotPoly = (PivotPoly) Bukkit.getPluginManager().getPlugin("PivotPoly");
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onRedstone(BlockRedstoneEvent event) {
if (event.getNewCurrent() <= 0) return;

// Find nearby door
Location loc = event.getBlock().getLocation();
AnimatedDoor nearbyDoor = findNearestDoor(loc, 5);

if (nearbyDoor != null) {
nearbyDoor.toggle();
}
}

private AnimatedDoor findNearestDoor(Location loc, double radius) {
DoorManager manager = pivotPoly.getDoorManager();
for (AnimatedDoor door : manager.getDoors().values()) {
Location pivot = door.getPivot().toLocation(door.getWorld());
if (pivot.distance(loc) <= radius) {
return door;
}
}
return null;
}
}

Example 2: Team-Based Supply Crates

Integrate CoreTeams with SupplyCrates:

public class TeamCratesPlugin extends JavaPlugin implements Listener {
private CoreTeams coreTeams;
private SupplyCrates supplyCrates;

@Override
public void onEnable() {
coreTeams = (CoreTeams) Bukkit.getPluginManager().getPlugin("CoreTeams");
supplyCrates = (SupplyCrates) Bukkit.getPluginManager().getPlugin("SupplyCrates");

Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onCrateOpen(CrateOpenEvent event) {
Player player = event.getPlayer();
Team team = coreTeams.getTeamManager().getPlayerTeam(player);

if (team != null) {
// Enhanced loot for team members
event.setLootMultiplier(1.5);

// Notify team
team.broadcast(player.getName() + " opened a supply crate!");
}
}
}

Example 3: Economy Integration

Track and reward plugin usage:

public class RewardPlugin extends JavaPlugin implements Listener {
private Economy economy; // Vault
private PvPManager pvpManager;

@Override
public void onEnable() {
setupEconomy();
pvpManager = (PvPManager) Bukkit.getPluginManager().getPlugin("PvPManager");
Bukkit.getPluginManager().registerEvents(this, this);
}

@EventHandler
public void onPvPKill(PlayerKillEvent event) {
Player killer = event.getKiller();
Player victim = event.getVictim();

// Reward killer
economy.depositPlayer(killer, 100.0);
killer.sendMessage("§a+$100 for PvP kill!");

// Penalty for victim
economy.withdrawPlayer(victim, 50.0);
}
}

Complete integration examples! See individual plugin APIs for more.