All Projects → JavaBWAPI → JBWAPI

JavaBWAPI / JBWAPI

Licence: MIT License
Pure Java BWAPI Client implementation for JVM languages

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to JBWAPI

ZZZKBot
ZZZKBot is a bot (AI) for Starcraft: Broodwar. It is designed to compete against other bots. It is not designed to compete against humans. It uses BWAPI as an API for interacting with Starcraft: Broodwar. I am not intending to support/maintain/develop ZZZKBot in future, although I haven't ruled it out either.
Stars: ✭ 57 (+256.25%)
Mutual labels:  starcraft, bwapi, starcraft-broodwar, broodwar
CoachAI
BWAPI AI that helps you play/analyze StarCraft v1.16 game/replay with more eyes/ears/brains, get ready for a 3rd eye/ear and a 2nd brain operation !
Stars: ✭ 21 (+31.25%)
Mutual labels:  starcraft, bwapi, starcraft-broodwar
Bwapi
Brood War API
Stars: ✭ 1,482 (+9162.5%)
Mutual labels:  starcraft, bwapi, broodwar
pybrood
Another BWAPI Python binding made with pybind11
Stars: ✭ 15 (-6.25%)
Mutual labels:  bwapi, broodwar
screp
StarCraft - Brood War replay parser
Stars: ✭ 71 (+343.75%)
Mutual labels:  starcraft, broodwar
xoom-cluster
The VLINGO XOOM platform SDK cluster management for Reactive, scalable resiliency of JVM tools and applications running on XOOM LATTICE and XOOM ACTORS.
Stars: ✭ 25 (+56.25%)
Mutual labels:  jvm, jvm-languages
iokk
International Obfuscated Kotlin Contest
Stars: ✭ 56 (+250%)
Mutual labels:  jvm, jvm-languages
gemini-python
A python client for the Gemini API and Websocket
Stars: ✭ 71 (+343.75%)
Mutual labels:  api-wrapper
doing-cli
CLI tool to simplify the development workflow on azure devops
Stars: ✭ 19 (+18.75%)
Mutual labels:  api-wrapper
Python-SmartisanNotes
Python API Wrapper for http://note.t.tt Service.(锤子便签)
Stars: ✭ 39 (+143.75%)
Mutual labels:  api-wrapper
lambda-string
Lambda-string (LS) is a helping java agent that inject configurable toString method into lambdas with some useful meta-information.
Stars: ✭ 34 (+112.5%)
Mutual labels:  jvm
pushover
Go wrapper for the Pushover API
Stars: ✭ 112 (+600%)
Mutual labels:  api-wrapper
blog
日常工作中使用的技术沉淀+学习记录
Stars: ✭ 41 (+156.25%)
Mutual labels:  jvm
KotlinSchool
Kotlin School with Kotlin Programming Tutorial
Stars: ✭ 26 (+62.5%)
Mutual labels:  jvm
SoundCloud-API
SoundCloud API wrapped into a bunch of classes. Built with Retrofit2 and RxJava2.
Stars: ✭ 63 (+293.75%)
Mutual labels:  api-wrapper
galytics3
Обертка над стандартной библиотекой google_api_python_client для легкой работы с API Google Analytics v3
Stars: ✭ 16 (+0%)
Mutual labels:  api-wrapper
Scrython
A python wrapper for the Scryfall API
Stars: ✭ 87 (+443.75%)
Mutual labels:  api-wrapper
Dis-Snek
A Python API wrapper for Discord
Stars: ✭ 71 (+343.75%)
Mutual labels:  api-wrapper
poloniex-api
PHP wrapper for the Poloniex API
Stars: ✭ 20 (+25%)
Mutual labels:  api-wrapper
CASC
A Go Lang / V Lang / Rust syntax approach in JVM language.
Stars: ✭ 16 (+0%)
Mutual labels:  jvm-languages

Build StatusTotal alertsLanguage grade: Java

JBWAPI

Pure Java bwapi 4.4.0 client implementation backed by N00byEdge's JavaBWAPIBackend idea and automated by Bytekeeper.

Also contains a modified version of the pure Java BWEM implementation from BWAPI4J.

Goals

  • Have a similar (Java) interface to BWMirror to make porting BWMirror bots easy without all the DLL and JNI hassle and overhead.
  • Stay as updated as possible with the BWAPI releases.

Advantages

  • No dependency on external DLL's.
  • At least 5x faster compared to BWMirror for primitives as it directly reads the memory mapped client file. Even faster for BWAPI objects as it also avoids type marshalling
  • Supports both 32 and 64 bit Java (e.g. deeplearning4j requires 64 bit Java which bwmirror doesn't support).
  • BWEM instead of BWTA as map analyser.

Warnings

  • A fake BWTA is provided for easier porting from BWMirror, but it translates BWTA calls to their respective BWEM calls, so specific Regions/Chokepoints etc. may differ.

Usage

Maven

Add JitPack as a repository:

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

Add JBWAPI to your dependencies in <dependencies></dependencies>:

<dependency>
    <groupId>com.github.JavaBWAPI</groupId>
    <artifactId>JBWAPI</artifactId>
    <version>1.5.1</version>
</dependency>

Gradle

Add JitPack as a repository:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

Add JBWAPI as a dependency:

dependencies {
    implementation 'com.github.JavaBWAPI:JBWAPI:1.5.1'
}

Jar

Alternatively add the latest .jar from the releases page to your project.

Compilation

mvnw.cmd package

or if you already have maven installed

mvn package

Example

A simple Hello World bot is as easy as

import bwapi.*;

class HelloBot extends DefaultBWListener {
	private BWClient bwClient;

	@Override
	public void onFrame() {
		Game game = bwClient.getGame();
		game.drawTextScreen(100, 100, "Hello World!");
	}

	public static void main(String[] args) {
		HelloBot bot = new HelloBot();
		bot.bwClient = new BWClient(bot);
		bot.bwClient.startGame();
	}
}

Documentation

The API documentation can be found here.

You can also ask any further questions on the SSCAIT Discord

Tutorial

If you are a just starting out with bot development, it might be helpful to follow the tutorial!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].