Turbine generator tweaks
@@ -170,6 +170,7 @@ public class EntityProcess extends BaseProcessor{
|
||||
}else if(round == 2){ //round 2: get component classes and generate interfaces for them
|
||||
|
||||
//parse groups
|
||||
//this needs to be done before the entity interfaces are generated, as the entity classes need to know which groups to add themselves to
|
||||
for(Selement<?> group : allGroups){
|
||||
GroupDef an = group.annotation(GroupDef.class);
|
||||
Seq<Stype> types = types(an, GroupDef::value).map(this::interfaceToComp);
|
||||
|
||||
@@ -60,7 +60,6 @@ public class Selement<T extends Element>{
|
||||
}
|
||||
|
||||
public <A extends Annotation> A annotation(Class<A> annotation){
|
||||
if(true) return e.getAnnotation(annotation);
|
||||
try{
|
||||
Method m = com.sun.tools.javac.code.AnnoConstruct.class.getDeclaredMethod("getAttribute", Class.class);
|
||||
m.setAccessible(true);
|
||||
|
||||
|
After Width: | Height: | Size: 260 B |
|
After Width: | Height: | Size: 206 B |
|
Before Width: | Height: | Size: 782 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 772 B After Width: | Height: | Size: 770 B |
|
Before Width: | Height: | Size: 632 KiB After Width: | Height: | Size: 639 KiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 286 KiB |
|
Before Width: | Height: | Size: 916 KiB After Width: | Height: | Size: 910 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 131 KiB After Width: | Height: | Size: 129 KiB |
|
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 280 KiB |
|
Before Width: | Height: | Size: 962 KiB After Width: | Height: | Size: 959 KiB |
@@ -1,9 +1,13 @@
|
||||
package mindustry.world.blocks.power;
|
||||
|
||||
import mindustry.type.Item;
|
||||
import mindustry.type.Liquid;
|
||||
import arc.graphics.g2d.*;
|
||||
import mindustry.annotations.Annotations.*;
|
||||
import mindustry.type.*;
|
||||
|
||||
public class BurnerGenerator extends ItemLiquidGenerator{
|
||||
public @Load(value = "@-turbine#", length = 2) TextureRegion[] turbineRegions;
|
||||
public @Load("@-cap") TextureRegion capRegion;
|
||||
public float turbineSpeed = 2f;
|
||||
|
||||
public BurnerGenerator(String name){
|
||||
super(true, false, name);
|
||||
@@ -18,4 +22,24 @@ public class BurnerGenerator extends ItemLiquidGenerator{
|
||||
protected float getItemEfficiency(Item item){
|
||||
return item.flammability;
|
||||
}
|
||||
|
||||
@Override
|
||||
public TextureRegion[] icons(){
|
||||
return turbineRegions[0].found() ? new TextureRegion[]{region, turbineRegions[0], turbineRegions[1], capRegion} : super.icons();
|
||||
}
|
||||
|
||||
public class BurnerGeneratorEntity extends ItemLiquidGeneratorEntity{
|
||||
|
||||
@Override
|
||||
public void draw(){
|
||||
super.draw();
|
||||
|
||||
if(turbineRegions[0].found()){
|
||||
Draw.rect(turbineRegions[0], x, y, totalTime * turbineSpeed);
|
||||
Draw.rect(turbineRegions[1], x, y, -totalTime * turbineSpeed);
|
||||
|
||||
Draw.rect(capRegion, x, y);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,7 +45,6 @@ public class ItemLiquidGenerator extends PowerGenerator{
|
||||
|
||||
public ItemLiquidGenerator(String name){
|
||||
super(name);
|
||||
this.entityType = ItemLiquidGeneratorEntity::new;
|
||||
}
|
||||
|
||||
protected void setDefaults(){
|
||||
@@ -88,6 +87,7 @@ public class ItemLiquidGenerator extends PowerGenerator{
|
||||
public class ItemLiquidGeneratorEntity extends GeneratorEntity{
|
||||
public float explosiveness;
|
||||
public float heat;
|
||||
public float totalTime;
|
||||
|
||||
@Override
|
||||
public boolean productionValid(){
|
||||
@@ -114,6 +114,7 @@ public class ItemLiquidGenerator extends PowerGenerator{
|
||||
}
|
||||
|
||||
heat = Mathf.lerpDelta(heat, generateTime >= 0.001f ? 1f : 0f, 0.05f);
|
||||
totalTime += heat;
|
||||
|
||||
//liquid takes priority over solids
|
||||
if(hasLiquids && liquid != null && liquids.get(liquid) >= 0.001f){
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
if(JavaVersion.current() != JavaVersion.VERSION_1_8){
|
||||
throw new GradleException("!!! YOU MUST USE JAVA 8 TO COMPILE AND RUN MINDUSTRY !!! Read the README. Your version: ${System.properties["java.version"]}\n" +
|
||||
"\nThe reason: Java has a compiler bug that requires a workaround. This workaround uses proprietary API and is only implemented on Java 8.")
|
||||
}
|
||||
|
||||
include 'desktop', 'core', 'server', 'ios', 'annotations', 'tools', 'tests'
|
||||
|
||||
def use = { ... names ->
|
||||
|
||||