Skip to content
Misat11 edited this page Feb 8, 2019 · 14 revisions

Bedwars API

Maven repository

<repositories>
  <repository>
    <id>mtorus-repo</id>
    <url>https://jenkins.mtorus.cz/plugin/repository/everything/</url>
  </repository>
</repositories>

<dependencies>
  <dependency>
    <groupId>misat11.bw</groupId>
    <artifactId>BedWars-API</artifactId>
    <version>1.0</version>
    <scope>provided</scope>
  </dependency>
</dependencies>

Hooking into API

import misat11.bw.api.BedwarsAPI;

...
BedwarsAPI api = this.getServer().getServicesManager().load(BedwarsAPI.class);
...

Events

BedwarsGameEndEvent - called when game ends

import misat11.bw.api.events.BedwarsGameEndEvent;

...

@EventHandler
public void onGameEnds(BedwarsGameEndEvent event){
  ...
  Game game = event.getGame();
  ...
}

BedwarsGameStartedEvent - called when game starts

import misat11.bw.api.events.BedwarsGameStartedEvent;

...

@EventHandler
public void onGameStarts(BedwarsGameStartedEvent event){
  ...
  Game game = event.getGame();
  ...
}

BedwarsGameStartEvent (Cancellable) - called before game starts

import misat11.bw.api.events.BedwarsGameStartEvent;

...

@EventHandler
public void beforeGameStart(BedwarsGameStartEvent event){
  ...
  Game game = event.getGame();
  if (something) {
    event.setCancelled(true);
  }
  ...
}

BedwarsOpenShopEvent (Cancellable) - called when someone open shop

import misat11.bw.api.events.BedwarsOpenShopEvent;

...

@EventHandler
public void onOpenShop(BedwarsOpenShopEvent event){
  ...
  Game game = event.getGame();
  CommandSender whoOpenShop = event.getPlayer();
  Entity shopEntity = event.getEntity();
  if (something) {
    event.setCancelled(true);
  }
  ...
}

BedwarsOpenTeamSelectionEvent (Cancellable) - called when someone open team slection menu

import misat11.bw.api.events.BedwarsOpenTeamSelectionEvent;

...

@EventHandler
public void onOpenTeamSelection(BedwarsOpenTeamSelectionEvent event){
  ...
  Game game = event.getGame();
  CommandSender whoOpenTeamSelection = event.getPlayer();
  if (something) {
    event.setCancelled(true);
  }
  ...
}

BedwarsPlayerJoinedEvent - called when player joined the game

import misat11.bw.api.events.BedwarsPlayerJoinedEvent;

...

@EventHandler
public void onPlayerJoined(BedwarsPlayerJoinedEvent event){
  ...
  Game game = event.getGame();
  Player player = event.getPlayer();
  Team teamOfPlayer = event.getTeam(); // now it isn't used (always null)
  ...
}

BedwarsPlayerJoinEvent (Cancellable) - called when player want to join to game

import misat11.bw.api.events.BedwarsPlayerJoinEvent;

...

@EventHandler
public void onPlayerAttemptToJoin(BedwarsPlayerJoinEvent event){
  ...
  Game game = event.getGame();
  Player player = event.getPlayer();
  if (something) {
    event.setCancelled(true);
  }
  ...
}

BedwarsPlayerJoinTeamEvent (Cancellable) - called when someone want to join to team

import misat11.bw.api.events.BedwarsPlayerJoinTeamEvent;

...

@EventHandler
public void onPlayerJoinTeam(BedwarsPlayerJoinTeamEvent event){
  ...
  Player player = event.getPlayer();
  Team teamThatPlayerWantToJoin = event.getTeam();
  Team currentlyTeam = event.getPreviousTeam(); // this can be null
  if (something) {
    event.setCancelled(true);
  }
  ...
}

BedwarsPlayerKilledEvent - called when player killed

import misat11.bw.api.events.BedwarsPlayerKilledEvent;

...

@EventHandler
public void onPlayerKilled(BedwarsPlayerKilledEvent event){
  ...
  Game game = event.getGame();
  Player victim = event.getPlayer();
  Player killer = event.getKiller();
  ...
}

BedwarsPlayerLeaveEvent - called when somone left the game

import misat11.bw.api.events.BedwarsPlayerLeaveEvent;

...

@EventHandler
public void onPlayerLeave(BedwarsPlayerLeaveEvent event){
  ...
  Game game = event.getGame();
  Player player = event.getPlayer();
  Team teamOfPlayer = event.getTeam(); // if player is spectator or the game is in lobby, this will be null
  ...
}

BedwarsPostRebuildingEvent - called after arena rebuild

import misat11.bw.api.events.BedwarsPostRebuildingEvent;

...

@EventHandler
public void onPostRebuilding(BedwarsPostRebuildingEvent event){
  ...
  Game game = event.getGame();
  ...
}

BedwarsPreRebuildingEvent - called before arena rebuild

import misat11.bw.api.events.BedwarsPreRebuildingEvent;

...

@EventHandler
public void onPreRebuilding(BedwarsPreRebuildingEvent event){
  ...
  Game game = event.getGame();
  ...
}

BedwarsResourceSpawnEvent (Cancellable) - called when resource should be spawned

import misat11.bw.api.events.BedwarsResourceSpawnEvent;

...

@EventHandler
public void onResourceSpawn(BedwarsResourceSpawnEvent event){
  ...
  Game game = event.getGame();
  Location location = event.getLocation();
  ItemSpawnerType typeOfSpawner = event.getType();
  ItemStack spawnedItem = event.getResource();

  if (something) {
    event.setCancelled(true);
    return;
  }

  if (something_else) {
    ItemStack newItem = new ItemStack(...);
    event.setResource(newItem);
    return;
  }
  ...
}

BedwarsTargetBlockDestroyedEvent - called when someone broke a bed

import misat11.bw.api.events.BedwarsTargetBlockDestroyedEvent;

...

@EventHandler
public void onTargetBlockDestroyed(BedwarsTargetBlockDestroyedEvent event){
  ...
  Game game = event.getGame();
  Player breaker = event.getPlayer();
  Team teamOfBed = event.getTeam();
  ...
}

BedwarsTeamChestOpenEvent (Cancellable) - called when someone open team chest (ender chest)

import misat11.bw.api.events.BedwarsTeamChestOpenEvent;

...

@EventHandler
public void onTeamChestOpen(BedwarsTeamChestOpenEvent event){
  ...
  Game game = event.getGame();
  Player player = event.getPlayer();
  Team teamOfPlayerAndChest = event.getTeam();

  if (something) {
    event.setCancelled(true);
  }
  ...
}
Clone this wiki locally