Skip to content

Commit a3e8513

Browse files
author
Bytekeeper
committed
Merge branch 'develop'
2 parents a7e4771 + dd88b73 commit a3e8513

File tree

183 files changed

+7547
-3859
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

183 files changed

+7547
-3859
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@
22
/build
33
/out
44
/.gradle
5+
/docs

README.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Additionally, various utilities for path-finding or fast location queries are al
1313

1414
[Appveyor Build Artifact](https://ci.appveyor.com/project/Bytekeeper/ass/build/artifacts)
1515

16-
[Javadoc](http://docs.bytekeeper.org/)
16+
[Javadoc](http://ass.bytekeeper.org/)
1717

1818
[JBWAPI](https://github.com/JasperGeurtz/JBWAPI/)
1919

@@ -174,9 +174,17 @@ A utility class to make 2D-position based queries:
174174
## Jump Path Search
175175
An implementation of the algorithm described here: https://zerowidth.com/2013/05/05/jump-point-search-explained.html
176176

177-
Generally much faster that a normal A* while still being optimal.
177+
Generally much faster that a standard A* while still being optimal.
178178

179179
## Resource management classes
180180
* GMS class to manage gas, minerals and supply in one value type.
181181
* Can be used to manage existing resources vs cost of units, tech or upgrades
182182

183+
## Unit and resource locking
184+
Helps in managing resources and units with specific tasks:
185+
* Locks on resources can be used to determine if something can be bought now or even if it can be afforded later
186+
* Locks on units helps for things like building: Find a worker and keep it until its job is done
187+
188+
## Grids
189+
Used for pathing. In addition to JPS, it's also possible to "cast rays" in a grid. This is mostly used
190+
for direct reachability checks (ie. can unit A reach position B without obstacle).

build.gradle.kts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
plugins {
22
java
33
id("maven")
4-
id("me.champeau.gradle.jmh") version "0.4.8"
4+
id("me.champeau.gradle.jmh") version "0.5.0"
55
id("com.github.ben-manes.versions") version "0.27.0"
66
}
77

88
group = "org.bk"
9-
version = "1.1"
9+
version = "1.2"
1010

1111
java {
1212
sourceCompatibility = JavaVersion.VERSION_1_8
@@ -20,19 +20,19 @@ repositories {
2020

2121
dependencies {
2222
implementation(fileTree("lib").include("*.jar"))
23-
implementation("com.github.JavaBWAPI:JBWAPI:0.8.2")
23+
implementation("com.github.JavaBWAPI:JBwapi:1.0.0")
2424

25-
testImplementation("org.junit.jupiter:junit-jupiter:5.5.2")
26-
testImplementation("org.assertj:assertj-core:3.13.2")
27-
testImplementation("io.jenetics:jenetics:5.0.1")
25+
testImplementation("org.junit.jupiter:junit-jupiter:5.+")
26+
testImplementation("org.assertj:assertj-core:3.+")
27+
testImplementation("io.jenetics:jenetics:5.+")
28+
testImplementation("org.mockito:mockito-core:3.+")
2829
}
2930

3031
configure<JavaPluginConvention> {
3132
sourceCompatibility = JavaVersion.VERSION_1_8
3233
}
3334

3435
configurations.testImplementation.get().extendsFrom(configurations.implementation.get())
35-
configurations.jmhCompile.get().extendsFrom(configurations.implementation.get())
3636

3737
tasks {
3838
check {
@@ -51,4 +51,5 @@ tasks {
5151

5252
jmh {
5353
resultFormat = "JSON"
54+
duplicateClassesStrategy = org.gradle.api.file.DuplicatesStrategy.EXCLUDE
5455
}

docs/allclasses-frame.html

Lines changed: 43 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,64 +2,96 @@
22
<!-- NewPage -->
33
<html lang="de">
44
<head>
5-
<!-- Generated by javadoc (1.8.0_222) on Sun Oct 20 18:35:29 CEST 2019 -->
6-
<title>All Classes (ass 1.1 API)</title>
7-
<meta name="date" content="2019-10-20">
5+
<!-- Generated by javadoc -->
6+
<title>All Classes (ass 1.2 API)</title>
87
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
98
<script type="text/javascript" src="script.js"></script>
109
</head>
1110
<body>
1211
<h1 class="bar">All&nbsp;Classes</h1>
1312
<div class="indexContainer">
1413
<ul>
15-
<li><a href="org/bk/ass/buildorder/Action.html" title="class in org.bk.ass.buildorder" target="classFrame">Action</a></li>
14+
<li><a href="org/bk/ass/bt/AcquireLock.html" title="class in org.bk.ass.bt" target="classFrame">AcquireLock</a></li>
1615
<li><a href="org/bk/ass/sim/Agent.html" title="class in org.bk.ass.sim" target="classFrame">Agent</a></li>
1716
<li><a href="org/bk/ass/sim/Agent.TargetingPriority.html" title="enum in org.bk.ass.sim" target="classFrame">Agent.TargetingPriority</a></li>
18-
<li><a href="org/bk/ass/buildorder/AgentType.html" title="class in org.bk.ass.buildorder" target="classFrame">AgentType</a></li>
1917
<li><a href="org/bk/ass/sim/AgentUtil.html" title="class in org.bk.ass.sim" target="classFrame">AgentUtil</a></li>
18+
<li><a href="org/bk/ass/sim/ApproxAttackBehavior.html" title="class in org.bk.ass.sim" target="classFrame">ApproxAttackBehavior</a></li>
2019
<li><a href="org/bk/ass/sim/AttackerBehavior.html" title="class in org.bk.ass.sim" target="classFrame">AttackerBehavior</a></li>
20+
<li><a href="org/bk/ass/bt/BehaviorTree.html" title="class in org.bk.ass.bt" target="classFrame">BehaviorTree</a></li>
21+
<li><a href="org/bk/ass/bt/Best.html" title="class in org.bk.ass.bt" target="classFrame">Best</a></li>
22+
<li><a href="org/bk/ass/manage/BlacklistReservation.html" title="class in org.bk.ass.manage" target="classFrame">BlacklistReservation</a></li>
23+
<li><a href="org/bk/ass/grid/BooleanGrid.html" title="class in org.bk.ass.grid" target="classFrame">BooleanGrid</a></li>
2124
<li><a href="org/bk/ass/sim/BWAPI4JAgentFactory.html" title="class in org.bk.ass.sim" target="classFrame">BWAPI4JAgentFactory</a></li>
2225
<li><a href="org/bk/ass/info/BWAPI4JUnitInfo.html" title="class in org.bk.ass.info" target="classFrame">BWAPI4JUnitInfo</a></li>
23-
<li><a href="org/bk/ass/sim/BWMirrorAgentFactory.html" title="class in org.bk.ass.sim" target="classFrame">BWMirrorAgentFactory</a></li>
2426
<li><a href="org/bk/ass/info/BWMirrorUnitInfo.html" title="class in org.bk.ass.info" target="classFrame">BWMirrorUnitInfo</a></li>
2527
<li><a href="org/bk/ass/cluster/Cluster.html" title="class in org.bk.ass.cluster" target="classFrame">Cluster</a></li>
28+
<li><a href="org/bk/ass/bt/CompoundNode.html" title="class in org.bk.ass.bt" target="classFrame">CompoundNode</a></li>
29+
<li><a href="org/bk/ass/bt/Condition.html" title="class in org.bk.ass.bt" target="classFrame">Condition</a></li>
30+
<li><a href="org/bk/ass/manage/CostLocks.html" title="class in org.bk.ass.manage" target="classFrame">CostLocks</a></li>
2631
<li><a href="org/bk/ass/sim/DamageType.html" title="enum in org.bk.ass.sim" target="classFrame">DamageType</a></li>
32+
<li><a href="org/bk/ass/bt/Decorator.html" title="class in org.bk.ass.bt" target="classFrame">Decorator</a></li>
2733
<li><a href="org/bk/ass/query/DistanceProvider.html" title="interface in org.bk.ass.query" target="classFrame"><span class="interfaceName">DistanceProvider</span></a></li>
2834
<li><a href="org/bk/ass/query/Distances.html" title="class in org.bk.ass.query" target="classFrame">Distances</a></li>
35+
<li><a href="org/bk/ass/bt/Distributor.html" title="class in org.bk.ass.bt" target="classFrame">Distributor</a></li>
2936
<li><a href="org/bk/ass/sim/Evaluator.html" title="class in org.bk.ass.sim" target="classFrame">Evaluator</a></li>
37+
<li><a href="org/bk/ass/sim/Evaluator.EvaluationResult.html" title="class in org.bk.ass.sim" target="classFrame">Evaluator.EvaluationResult</a></li>
38+
<li><a href="org/bk/ass/sim/Evaluator.EvalWithAgents.html" title="class in org.bk.ass.sim" target="classFrame">Evaluator.EvalWithAgents</a></li>
3039
<li><a href="org/bk/ass/sim/Evaluator.Parameters.html" title="class in org.bk.ass.sim" target="classFrame">Evaluator.Parameters</a></li>
40+
<li><a href="org/bk/ass/bt/ExecutionContext.html" title="class in org.bk.ass.bt" target="classFrame">ExecutionContext</a></li>
3141
<li><a href="org/bk/ass/collection/FastArrayFill.html" title="class in org.bk.ass.collection" target="classFrame">FastArrayFill</a></li>
42+
<li><a href="org/bk/ass/FrameLocal.html" title="class in org.bk.ass" target="classFrame">FrameLocal</a></li>
3243
<li><a href="org/bk/ass/manage/GMS.html" title="class in org.bk.ass.manage" target="classFrame">GMS</a></li>
44+
<li><a href="org/bk/ass/manage/GMSReservation.html" title="class in org.bk.ass.manage" target="classFrame">GMSReservation</a></li>
3345
<li><a href="org/bk/ass/grid/Grid.html" title="interface in org.bk.ass.grid" target="classFrame"><span class="interfaceName">Grid</span></a></li>
3446
<li><a href="org/bk/ass/grid/Grids.html" title="class in org.bk.ass.grid" target="classFrame">Grids</a></li>
3547
<li><a href="org/bk/ass/sim/HealerBehavior.html" title="class in org.bk.ass.sim" target="classFrame">HealerBehavior</a></li>
48+
<li><a href="org/bk/ass/sim/IntEvaluation.html" title="class in org.bk.ass.sim" target="classFrame">IntEvaluation</a></li>
49+
<li><a href="org/bk/ass/bt/Inverter.html" title="class in org.bk.ass.bt" target="classFrame">Inverter</a></li>
50+
<li><a href="org/bk/ass/sim/JBWAPIAgentFactory.html" title="class in org.bk.ass.sim" target="classFrame">JBWAPIAgentFactory</a></li>
3651
<li><a href="org/bk/ass/path/Jps.html" title="class in org.bk.ass.path" target="classFrame">Jps</a></li>
52+
<li><a href="org/bk/ass/bt/LambdaNode.html" title="class in org.bk.ass.bt" target="classFrame">LambdaNode</a></li>
53+
<li><a href="org/bk/ass/manage/ListLock.html" title="class in org.bk.ass.manage" target="classFrame">ListLock</a></li>
54+
<li><a href="org/bk/ass/manage/ListReservation.html" title="class in org.bk.ass.manage" target="classFrame">ListReservation</a></li>
3755
<li><a href="org/bk/ass/manage/Lock.html" title="class in org.bk.ass.manage" target="classFrame">Lock</a></li>
38-
<li><a href="org/bk/ass/buildorder/MissingRequiredAgent.html" title="class in org.bk.ass.buildorder" target="classFrame">MissingRequiredAgent</a></li>
39-
<li><a href="org/bk/ass/buildorder/NotEnoughResources.html" title="class in org.bk.ass.buildorder" target="classFrame">NotEnoughResources</a></li>
40-
<li><a href="org/bk/ass/collection/PairingHeap.html" title="class in org.bk.ass.collection" target="classFrame">PairingHeap</a></li>
56+
<li><a href="org/bk/ass/bt/Memo.html" title="class in org.bk.ass.bt" target="classFrame">Memo</a></li>
57+
<li><a href="org/bk/ass/bt/NodeStatus.html" title="enum in org.bk.ass.bt" target="classFrame">NodeStatus</a></li>
58+
<li><a href="org/bk/ass/bt/Parallel.html" title="class in org.bk.ass.bt" target="classFrame">Parallel</a></li>
59+
<li><a href="org/bk/ass/bt/Parallel.Policy.html" title="enum in org.bk.ass.bt" target="classFrame">Parallel.Policy</a></li>
4160
<li><a href="org/bk/ass/path/Position.html" title="class in org.bk.ass.path" target="classFrame">Position</a></li>
4261
<li><a href="org/bk/ass/query/PositionAndId.html" title="class in org.bk.ass.query" target="classFrame">PositionAndId</a></li>
4362
<li><a href="org/bk/ass/PositionOutOfBoundsException.html" title="class in org.bk.ass" target="classFrame">PositionOutOfBoundsException</a></li>
4463
<li><a href="org/bk/ass/query/PositionQueries.html" title="class in org.bk.ass.query" target="classFrame">PositionQueries</a></li>
4564
<li><a href="org/bk/ass/path/PPJps.html" title="class in org.bk.ass.path" target="classFrame">PPJps</a></li>
4665
<li><a href="org/bk/ass/path/PPMap.html" title="interface in org.bk.ass.path" target="classFrame"><span class="interfaceName">PPMap</span></a></li>
66+
<li><a href="org/bk/ass/grid/RayCaster.html" title="class in org.bk.ass.grid" target="classFrame">RayCaster</a></li>
67+
<li><a href="org/bk/ass/grid/RayCaster.Hit.html" title="class in org.bk.ass.grid" target="classFrame">RayCaster.Hit</a></li>
68+
<li><a href="org/bk/ass/grid/Rectangle.html" title="class in org.bk.ass.grid" target="classFrame">Rectangle</a></li>
4769
<li><a href="org/bk/ass/sim/RepairerBehavior.html" title="class in org.bk.ass.sim" target="classFrame">RepairerBehavior</a></li>
70+
<li><a href="org/bk/ass/bt/Repeat.html" title="class in org.bk.ass.bt" target="classFrame">Repeat</a></li>
71+
<li><a href="org/bk/ass/bt/Repeat.Policy.html" title="enum in org.bk.ass.bt" target="classFrame">Repeat.Policy</a></li>
4872
<li><a href="org/bk/ass/manage/Reservation.html" title="interface in org.bk.ass.manage" target="classFrame"><span class="interfaceName">Reservation</span></a></li>
4973
<li><a href="org/bk/ass/path/Result.html" title="class in org.bk.ass.path" target="classFrame">Result</a></li>
5074
<li><a href="org/bk/ass/sim/RetreatBehavior.html" title="class in org.bk.ass.sim" target="classFrame">RetreatBehavior</a></li>
51-
<li><a href="org/bk/ass/buildorder/SimpleGameState.html" title="class in org.bk.ass.buildorder" target="classFrame">SimpleGameState</a></li>
75+
<li><a href="org/bk/ass/grid/SearchPredicate.html" title="interface in org.bk.ass.grid" target="classFrame"><span class="interfaceName">SearchPredicate</span></a></li>
76+
<li><a href="org/bk/ass/grid/SearchPredicate.Result.html" title="enum in org.bk.ass.grid" target="classFrame">SearchPredicate.Result</a></li>
77+
<li><a href="org/bk/ass/bt/Selector.html" title="class in org.bk.ass.bt" target="classFrame">Selector</a></li>
78+
<li><a href="org/bk/ass/bt/Sequence.html" title="class in org.bk.ass.bt" target="classFrame">Sequence</a></li>
5279
<li><a href="org/bk/ass/sim/Simulator.html" title="class in org.bk.ass.sim" target="classFrame">Simulator</a></li>
5380
<li><a href="org/bk/ass/sim/Simulator.Behavior.html" title="interface in org.bk.ass.sim" target="classFrame"><span class="interfaceName">Simulator.Behavior</span></a></li>
5481
<li><a href="org/bk/ass/sim/Simulator.Builder.html" title="class in org.bk.ass.sim" target="classFrame">Simulator.Builder</a></li>
55-
<li><a href="org/bk/ass/sim/Simulator.IntEvaluation.html" title="class in org.bk.ass.sim" target="classFrame">Simulator.IntEvaluation</a></li>
5682
<li><a href="org/bk/ass/sim/Simulator.RoleBasedBehavior.html" title="class in org.bk.ass.sim" target="classFrame">Simulator.RoleBasedBehavior</a></li>
5783
<li><a href="org/bk/ass/sim/SplashType.html" title="enum in org.bk.ass.sim" target="classFrame">SplashType</a></li>
5884
<li><a href="org/bk/ass/cluster/StableDBScanner.html" title="class in org.bk.ass.cluster" target="classFrame">StableDBScanner</a></li>
85+
<li><a href="org/bk/ass/StopWatch.html" title="class in org.bk.ass" target="classFrame">StopWatch</a></li>
86+
<li><a href="org/bk/ass/bt/Succeeder.html" title="class in org.bk.ass.bt" target="classFrame">Succeeder</a></li>
5987
<li><a href="org/bk/ass/sim/SuiciderBehavior.html" title="class in org.bk.ass.sim" target="classFrame">SuiciderBehavior</a></li>
88+
<li><a href="org/bk/ass/bt/TreeNode.html" title="class in org.bk.ass.bt" target="classFrame">TreeNode</a></li>
89+
<li><a href="org/bk/ass/sim/UnitDeathContext.html" title="class in org.bk.ass.sim" target="classFrame">UnitDeathContext</a></li>
6090
<li><a href="org/bk/ass/sim/UnitSize.html" title="enum in org.bk.ass.sim" target="classFrame">UnitSize</a></li>
6191
<li><a href="org/bk/ass/collection/UnorderedCollection.html" title="class in org.bk.ass.collection" target="classFrame">UnorderedCollection</a></li>
92+
<li><a href="org/bk/ass/bt/Wait.html" title="class in org.bk.ass.bt" target="classFrame">Wait</a></li>
6293
<li><a href="org/bk/ass/sim/Weapon.html" title="class in org.bk.ass.sim" target="classFrame">Weapon</a></li>
94+
<li><a href="org/bk/ass/manage/WhiteListReservation.html" title="class in org.bk.ass.manage" target="classFrame">WhiteListReservation</a></li>
6395
</ul>
6496
</div>
6597
</body>

0 commit comments

Comments
 (0)