Thermal -> AttributeSmelter
This commit is contained in:
Binary file not shown.
|
After Width: | Height: | Size: 418 B |
BIN
core/assets-raw/sprites/blocks/production/silicon-crucible.png
Normal file
BIN
core/assets-raw/sprites/blocks/production/silicon-crucible.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
@@ -485,7 +485,7 @@ public class Blocks implements ContentList{
|
|||||||
consumes.power(0.50f);
|
consumes.power(0.50f);
|
||||||
}};
|
}};
|
||||||
|
|
||||||
siliconCrucible = new ThermalSmelter("silicon-crucible"){{
|
siliconCrucible = new AttributeSmelter("silicon-crucible"){{
|
||||||
requirements(Category.crafting, ItemStack.with(Items.titanium, 120, Items.metaglass, 80, Items.plastanium, 35, Items.silicon, 60));
|
requirements(Category.crafting, ItemStack.with(Items.titanium, 120, Items.metaglass, 80, Items.plastanium, 35, Items.silicon, 60));
|
||||||
craftEffect = Fx.smeltsmoke;
|
craftEffect = Fx.smeltsmoke;
|
||||||
outputItem = new ItemStack(Items.silicon, 5);
|
outputItem = new ItemStack(Items.silicon, 5);
|
||||||
@@ -495,7 +495,7 @@ public class Blocks implements ContentList{
|
|||||||
hasLiquids = false;
|
hasLiquids = false;
|
||||||
flameColor = Color.valueOf("ffef99");
|
flameColor = Color.valueOf("ffef99");
|
||||||
itemCapacity = 30;
|
itemCapacity = 30;
|
||||||
heatBoostScale = 0.15f;
|
boostScale = 0.15f;
|
||||||
|
|
||||||
consumes.items(new ItemStack(Items.coal, 3), new ItemStack(Items.sand, 6), new ItemStack(Items.pyratite, 1));
|
consumes.items(new ItemStack(Items.coal, 3), new ItemStack(Items.sand, 6), new ItemStack(Items.pyratite, 1));
|
||||||
consumes.power(4f);
|
consumes.power(4f);
|
||||||
|
|||||||
@@ -5,21 +5,21 @@ import mindustry.graphics.*;
|
|||||||
import mindustry.ui.*;
|
import mindustry.ui.*;
|
||||||
import mindustry.world.meta.*;
|
import mindustry.world.meta.*;
|
||||||
|
|
||||||
/** A smelter that gains efficiency from heat tiles. */
|
/** A smelter that gains efficiency from attribute tiles. */
|
||||||
public class ThermalSmelter extends GenericSmelter{
|
public class AttributeSmelter extends GenericSmelter{
|
||||||
public Attribute attribute = Attribute.heat;
|
public Attribute attribute = Attribute.heat;
|
||||||
public float baseEfficiency = 1f;
|
public float baseEfficiency = 1f;
|
||||||
public float heatBoostScale = 1f;
|
public float boostScale = 1f;
|
||||||
public float maxHeatBoost = 1f;
|
public float maxHeatBoost = 1f;
|
||||||
|
|
||||||
public ThermalSmelter(String name){
|
public AttributeSmelter(String name){
|
||||||
super(name);
|
super(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void drawPlace(int x, int y, int rotation, boolean valid){
|
public void drawPlace(int x, int y, int rotation, boolean valid){
|
||||||
drawPlaceText(Core.bundle.format("bar.efficiency",
|
drawPlaceText(Core.bundle.format("bar.efficiency",
|
||||||
(int)((baseEfficiency + Math.min(maxHeatBoost, heatBoostScale * sumAttribute(attribute, x, y))) * 100f)), x, y, valid);
|
(int)((baseEfficiency + Math.min(maxHeatBoost, boostScale * sumAttribute(attribute, x, y))) * 100f)), x, y, valid);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -37,22 +37,22 @@ public class ThermalSmelter extends GenericSmelter{
|
|||||||
public void setStats(){
|
public void setStats(){
|
||||||
super.setStats();
|
super.setStats();
|
||||||
|
|
||||||
stats.add(BlockStat.tiles, attribute, heatBoostScale);
|
stats.add(BlockStat.tiles, attribute, boostScale);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class HeatedSmelterEntity extends SmelterEntity{
|
public class AttributeSmelterEntity extends SmelterEntity{
|
||||||
public float heat = 0.0f;
|
public float attrsum;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public float efficiency(){
|
public float efficiency(){
|
||||||
return (baseEfficiency + Math.min(maxHeatBoost, heatBoostScale * heat)) * super.efficiency();
|
return (baseEfficiency + Math.min(maxHeatBoost, boostScale * attrsum)) * super.efficiency();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void placed(){
|
public void placed(){
|
||||||
super.placed();
|
super.placed();
|
||||||
|
|
||||||
heat = sumAttribute(attribute, tile.x, tile.y);
|
attrsum = sumAttribute(attribute, tile.x, tile.y);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
org.gradle.daemon=true
|
org.gradle.daemon=true
|
||||||
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
org.gradle.jvmargs=-Xms256m -Xmx1024m
|
||||||
archash=aa4a38bc30126833c245cd07cab0f19ebb43e10c
|
archash=1fc9e8ef5ecca01e058eab1ff4d7fd673aa5431d
|
||||||
|
|||||||
Reference in New Issue
Block a user