for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
package de.pewpewproject.lasertag.lasertaggame.state.management.server.implementation;
import de.pewpewproject.lasertag.block.entity.LasertagCustomBlockTickable;
import de.pewpewproject.lasertag.lasertaggame.state.management.server.IBlockTickManager;
import net.minecraft.server.MinecraftServer;
import java.util.ArrayList;
import java.util.List;
/**
* Implementation of IBlockTickManager for the server lasertag game
*
* @author Étienne Muser
*/
public class BlockTickManager implements IBlockTickManager {
private final List<LasertagCustomBlockTickable> blockEntityTickers;
private final MinecraftServer server;
public BlockTickManager(MinecraftServer server) {
this.blockEntityTickers = new ArrayList<>();
this.server = server;
}
public synchronized void registerTicker(LasertagCustomBlockTickable ticker) {
blockEntityTickers.add(ticker);
public synchronized void clear() {
this.blockEntityTickers.clear();
public synchronized void tick() {
blockEntityTickers.forEach(ticker -> ticker.serverTick(this.server.getOverworld()));