Merge pull request #49 from Tener/patch-3
Implement outbound queue limits.
This commit is contained in:
@@ -18,7 +18,7 @@ public class Crafter extends Block{
|
|||||||
protected Item[] requirements;
|
protected Item[] requirements;
|
||||||
protected Item result;
|
protected Item result;
|
||||||
|
|
||||||
int capacity = 20;
|
int capacity = 20;
|
||||||
|
|
||||||
public Crafter(String name) {
|
public Crafter(String name) {
|
||||||
super(name);
|
super(name);
|
||||||
@@ -37,7 +37,7 @@ public class Crafter extends Block{
|
|||||||
@Override
|
@Override
|
||||||
public void update(Tile tile){
|
public void update(Tile tile){
|
||||||
|
|
||||||
if(tile.entity.timer.get(timerDump, 15) && tile.entity.hasItem(result)){
|
if(tile.entity.timer.get(timerDump, 5) && tile.entity.hasItem(result)){
|
||||||
tryDump(tile, -1, result);
|
tryDump(tile, -1, result);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -47,6 +47,11 @@ public class Crafter extends Block{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// crafter full - it has to be emptied before it can craft again.
|
||||||
|
if(tile.entity.getItem(result) >= capacity){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
for(Item item : requirements){
|
for(Item item : requirements){
|
||||||
tile.entity.removeItem(item, 1);
|
tile.entity.removeItem(item, 1);
|
||||||
}
|
}
|
||||||
@@ -67,7 +72,9 @@ public class Crafter extends Block{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawSelect(Tile tile){
|
public void drawSelect(Tile tile){
|
||||||
float fract = (float)tile.entity.totalItems()/((requirements.length-1) *capacity);
|
// each req item has its input buffer + 1 buffer for output.
|
||||||
|
int totalCapacity = (requirements.length + 1) * capacity;
|
||||||
|
float fract = ((float)tile.entity.totalItems())/totalCapacity;
|
||||||
|
|
||||||
Vars.renderer.drawBar(Color.GREEN, tile.worldx(), tile.worldy() + 6, fract);
|
Vars.renderer.drawBar(Color.GREEN, tile.worldx(), tile.worldy() + 6, fract);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user