Added repair point block

This commit is contained in:
Anuken
2018-04-30 17:14:35 -04:00
parent 2b96c820fd
commit 0be49002ba
9 changed files with 203 additions and 67 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 176 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 B

View File

@@ -279,42 +279,42 @@ pulseconduit-top
index: -1 index: -1
router router
rotate: false rotate: false
xy: 284, 47 xy: 294, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sortedunloader sortedunloader
rotate: false rotate: false
xy: 568, 166 xy: 578, 166
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sorter sorter
rotate: false rotate: false
xy: 578, 166 xy: 558, 155
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
splitter splitter
rotate: false rotate: false
xy: 568, 156 xy: 578, 156
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
steelconveyor steelconveyor
rotate: false rotate: false
xy: 578, 156 xy: 588, 162
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
steelconveyormove steelconveyormove
rotate: false rotate: false
xy: 588, 162 xy: 598, 162
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -328,7 +328,7 @@ teleporter-top
index: -1 index: -1
unloader unloader
rotate: false rotate: false
xy: 374, 51 xy: 141, 26
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -342,7 +342,7 @@ vault
index: -1 index: -1
vault-icon vault-icon
rotate: false rotate: false
xy: 141, 26 xy: 141, 16
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -713,56 +713,56 @@ oiledge
index: -1 index: -1
rock1 rock1
rotate: false rotate: false
xy: 264, 47 xy: 274, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
rock2 rock2
rotate: false rotate: false
xy: 274, 47 xy: 284, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sand1 sand1
rotate: false rotate: false
xy: 314, 47 xy: 324, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sand2 sand2
rotate: false rotate: false
xy: 324, 47 xy: 334, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sand3 sand3
rotate: false rotate: false
xy: 334, 47 xy: 344, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sandblock1 sandblock1
rotate: false rotate: false
xy: 344, 47 xy: 354, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sandblock2 sandblock2
rotate: false rotate: false
xy: 354, 47 xy: 370, 71
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
sandblock3 sandblock3
rotate: false rotate: false
xy: 370, 71 xy: 548, 159
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -776,56 +776,56 @@ sandedge
index: -1 index: -1
shrub shrub
rotate: false rotate: false
xy: 688, 231 xy: 698, 231
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
shrubshadow shrubshadow
rotate: false rotate: false
xy: 698, 231 xy: 677, 221
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
snow1 snow1
rotate: false rotate: false
xy: 697, 221 xy: 677, 211
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
snow2 snow2
rotate: false rotate: false
xy: 677, 211 xy: 687, 211
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
snow3 snow3
rotate: false rotate: false
xy: 687, 211 xy: 697, 211
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
snowblock1 snowblock1
rotate: false rotate: false
xy: 697, 211 xy: 364, 59
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
snowblock2 snowblock2
rotate: false rotate: false
xy: 364, 59 xy: 364, 49
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
snowblock3 snowblock3
rotate: false rotate: false
xy: 364, 49 xy: 558, 165
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -839,7 +839,7 @@ snowedge
index: -1 index: -1
space space
rotate: false rotate: false
xy: 558, 155 xy: 568, 156
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -853,42 +853,42 @@ spaceedge
index: -1 index: -1
stone1 stone1
rotate: false rotate: false
xy: 588, 152 xy: 598, 152
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stone2 stone2
rotate: false rotate: false
xy: 598, 152 xy: 608, 152
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stone3 stone3
rotate: false rotate: false
xy: 608, 152 xy: 618, 152
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stoneblock1 stoneblock1
rotate: false rotate: false
xy: 618, 152 xy: 628, 152
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stoneblock2 stoneblock2
rotate: false rotate: false
xy: 628, 152 xy: 708, 238
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stoneblock3 stoneblock3
rotate: false rotate: false
xy: 708, 238 xy: 718, 238
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -902,49 +902,49 @@ stoneedge
index: -1 index: -1
thorium1 thorium1
rotate: false rotate: false
xy: 728, 228 xy: 707, 218
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
thorium2 thorium2
rotate: false rotate: false
xy: 707, 218 xy: 717, 218
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
thorium3 thorium3
rotate: false rotate: false
xy: 717, 218 xy: 727, 218
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titanium1 titanium1
rotate: false rotate: false
xy: 727, 218 xy: 707, 208
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titanium2 titanium2
rotate: false rotate: false
xy: 707, 208 xy: 717, 208
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titanium3 titanium3
rotate: false rotate: false
xy: 717, 208 xy: 727, 208
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
water water
rotate: false rotate: false
xy: 144, 36 xy: 154, 42
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1243,6 +1243,13 @@ powernode-shadow
orig: 10, 10 orig: 10, 10
offset: 0, 0 offset: 0, 0
index: -1 index: -1
repairpoint-shadow
rotate: false
xy: 849, 295
size: 10, 10
orig: 10, 10
offset: 0, 0
index: -1
powernodelarge powernodelarge
rotate: false rotate: false
xy: 405, 107 xy: 405, 107
@@ -1266,21 +1273,21 @@ powervoid
index: -1 index: -1
rtgenerator rtgenerator
rotate: false rotate: false
xy: 294, 47 xy: 304, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
rtgenerator-top rtgenerator-top
rotate: false rotate: false
xy: 304, 47 xy: 314, 47
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
shieldgenerator shieldgenerator
rotate: false rotate: false
xy: 678, 241 xy: 688, 241
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1294,7 +1301,7 @@ shieldprojector
index: -1 index: -1
solarpanel solarpanel
rotate: false rotate: false
xy: 558, 165 xy: 568, 166
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1315,7 +1322,7 @@ teleporter-top
index: -1 index: -1
thermalgenerator thermalgenerator
rotate: false rotate: false
xy: 718, 228 xy: 728, 228
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1714,21 +1721,21 @@ reinforceddrill-top
index: -1 index: -1
separator separator
rotate: false rotate: false
xy: 548, 159 xy: 894, 385
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
separator-liquid separator-liquid
rotate: false rotate: false
xy: 894, 385 xy: 678, 241
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
siliconextractor siliconextractor
rotate: false rotate: false
xy: 677, 221 xy: 687, 221
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -1742,56 +1749,56 @@ siliconsmelter
index: -1 index: -1
smelter smelter
rotate: false rotate: false
xy: 687, 221 xy: 697, 221
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
steeldrill steeldrill
rotate: false rotate: false
xy: 598, 162 xy: 608, 162
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
steeldrill-rotator steeldrill-rotator
rotate: false rotate: false
xy: 608, 162 xy: 618, 162
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
steeldrill-top steeldrill-top
rotate: false rotate: false
xy: 618, 162 xy: 628, 162
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stonedrill stonedrill
rotate: false rotate: false
xy: 718, 238 xy: 728, 238
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
stoneformer stoneformer
rotate: false rotate: false
xy: 728, 238 xy: 708, 228
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titaniumdrill titaniumdrill
rotate: false rotate: false
xy: 727, 208 xy: 738, 238
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titaniumdrill-top titaniumdrill-top
rotate: false rotate: false
xy: 738, 238 xy: 738, 228
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -2062,6 +2069,13 @@ walkerfactory-top-open
orig: 16, 16 orig: 16, 16
offset: 0, 0 offset: 0, 0
index: -1 index: -1
repairpoint
rotate: false
xy: 264, 47
size: 8, 8
orig: 8, 8
offset: 0, 0
index: -1
compositewall compositewall
rotate: false rotate: false
xy: 654, 275 xy: 654, 275
@@ -2120,7 +2134,7 @@ ironwall
index: -1 index: -1
steelwall steelwall
rotate: false rotate: false
xy: 628, 162 xy: 588, 152
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -2134,21 +2148,21 @@ steelwall-large
index: -1 index: -1
stonewall stonewall
rotate: false rotate: false
xy: 708, 228 xy: 718, 228
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titaniumshieldwall titaniumshieldwall
rotate: false rotate: false
xy: 738, 228 xy: 737, 218
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
titaniumwall titaniumwall
rotate: false rotate: false
xy: 737, 218 xy: 737, 208
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -2232,7 +2246,7 @@ shell-back
index: -1 index: -1
shot shot
rotate: false rotate: false
xy: 678, 231 xy: 688, 231
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
@@ -3414,42 +3428,42 @@ clustergun-equip
index: -1 index: -1
shockgun shockgun
rotate: false rotate: false
xy: 688, 241 xy: 698, 241
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
shockgun-equip shockgun-equip
rotate: false rotate: false
xy: 698, 241 xy: 678, 231
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
triblaster triblaster
rotate: false rotate: false
xy: 737, 208 xy: 374, 61
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
triblaster-equip triblaster-equip
rotate: false rotate: false
xy: 374, 61 xy: 374, 51
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
vulcan vulcan
rotate: false rotate: false
xy: 141, 16 xy: 141, 6
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0
index: -1 index: -1
vulcan-equip vulcan-equip
rotate: false rotate: false
xy: 141, 6 xy: 144, 36
size: 8, 8 size: 8, 8
orig: 8, 8 orig: 8, 8
offset: 0, 0 offset: 0, 0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

@@ -114,6 +114,8 @@ public class Recipes {
new Recipe(liquid, LiquidBlocks.pump, stack(Items.steel, 10)), new Recipe(liquid, LiquidBlocks.pump, stack(Items.steel, 10)),
new Recipe(liquid, LiquidBlocks.fluxpump, stack(Items.steel, 10), stack(Items.densealloy, 5)), new Recipe(liquid, LiquidBlocks.fluxpump, stack(Items.steel, 10), stack(Items.densealloy, 5)),
new Recipe(units, UnitBlocks.repairPoint, stack(Items.steel, 10)),
//new Recipe(units, UnitBlocks.droneFactory, stack(Items.steel, 10)), //new Recipe(units, UnitBlocks.droneFactory, stack(Items.steel, 10)),
//new Recipe(units, UnitBlocks.vtolFactory, stack(Items.steel, 10)), //new Recipe(units, UnitBlocks.vtolFactory, stack(Items.steel, 10)),
//new Recipe(units, UnitBlocks.droneFactory, stack(Items.steel, 10)), //new Recipe(units, UnitBlocks.droneFactory, stack(Items.steel, 10)),

View File

@@ -4,6 +4,7 @@ import io.anuke.mindustry.content.Items;
import io.anuke.mindustry.content.UnitTypes; import io.anuke.mindustry.content.UnitTypes;
import io.anuke.mindustry.resource.ItemStack; import io.anuke.mindustry.resource.ItemStack;
import io.anuke.mindustry.world.Block; import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.blocks.types.units.RepairPoint;
import io.anuke.mindustry.world.blocks.types.units.ResupplyPoint; import io.anuke.mindustry.world.blocks.types.units.ResupplyPoint;
import io.anuke.mindustry.world.blocks.types.units.UnitFactory; import io.anuke.mindustry.world.blocks.types.units.UnitFactory;
@@ -40,5 +41,9 @@ public class UnitBlocks {
resupplyPoint = new ResupplyPoint("resupplypoint"){{ resupplyPoint = new ResupplyPoint("resupplypoint"){{
size = 2; size = 2;
itemCapacity = 30; itemCapacity = 30;
}},
repairPoint = new RepairPoint("repairpoint"){{
shadow = "repairpoint-shadow";
}}; }};
} }

View File

@@ -96,6 +96,29 @@ public class Units {
return result[0]; return result[0];
} }
/**Returns the closest ally of this team. Filter by predicate.*/
public static Unit getClosest(Team team, float x, float y, float range, Predicate<Unit> predicate){
Unit[] result = {null};
float[] cdist = {0};
rect.setSize(range*2f).setCenter(x, y);
getNearby(team, rect, e -> {
if (!predicate.test(e))
return;
float dist = Vector2.dst(e.x, e.y, x, y);
if (dist < range) {
if (result[0] == null || dist < cdist[0]) {
result[0] = e;
cdist[0] = dist;
}
}
});
return result[0];
}
/**Iterates over all units in a rectangle.*/ /**Iterates over all units in a rectangle.*/
public static void getNearby(Team team, Rectangle rect, Consumer<Unit> cons){ public static void getNearby(Team team, Rectangle rect, Consumer<Unit> cons){

View File

@@ -62,8 +62,7 @@ public class TeamInfo {
} }
/**Returns a set of all teams that are enemies of this team. /**Returns a set of all teams that are enemies of this team.
* For teams not active, an empty set is returned. * For teams not active, an empty set is returned.*/
*/
public ObjectSet<Team> enemiesOf(Team team) { public ObjectSet<Team> enemiesOf(Team team) {
boolean ally = allies.contains(team); boolean ally = allies.contains(team);
boolean enemy = enemies.contains(team); boolean enemy = enemies.contains(team);

View File

@@ -0,0 +1,93 @@
package io.anuke.mindustry.world.blocks.types.units;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.Rectangle;
import io.anuke.mindustry.entities.TileEntity;
import io.anuke.mindustry.entities.Unit;
import io.anuke.mindustry.entities.Units;
import io.anuke.mindustry.graphics.Layer;
import io.anuke.mindustry.world.Block;
import io.anuke.mindustry.world.Tile;
import io.anuke.mindustry.world.flags.BlockFlag;
import io.anuke.ucore.core.Timers;
import io.anuke.ucore.graphics.Draw;
import io.anuke.ucore.graphics.Shapes;
import io.anuke.ucore.util.Angles;
import io.anuke.ucore.util.EnumSet;
import io.anuke.ucore.util.Mathf;
public class RepairPoint extends Block{
private static Rectangle rect = new Rectangle();
protected int timerTarget = timers ++;
protected float repairRadius = 50f;
protected float repairSpeed = 0.3f;
protected float powerUsage = 0.2f;
public RepairPoint(String name) {
super(name);
update = true;
solid = true;
flags = EnumSet.of(BlockFlag.repair);
layer = Layer.laser;
hasItems = false;
hasPower = true;
powerCapacity = 20f;
}
@Override
public void drawLayer(Tile tile) {
RepairPointEntity entity = tile.entity();
if(entity.target != null){
float ang = entity.angleTo(entity.target);
float len = 2f;
Draw.color(Color.valueOf("e8ffd7"));
Draw.alpha(entity.strength);
Shapes.laser("laser", "laser-end",
tile.drawx() + Angles.trnsx(ang, len), tile.drawy() + Angles.trnsy(ang, len),
entity.target.x, entity.target.y);
Draw.color();
}
}
@Override
public void update(Tile tile) {
RepairPointEntity entity = tile.entity();
if(entity.target != null && (entity.target.isDead() || entity.target.distanceTo(tile) > repairRadius ||
entity.target.health >= entity.target.maxhealth)){
entity.target = null;
}else if(entity.target != null){
entity.target.health += repairSpeed * Timers.delta() * entity.strength;
entity.target.clampHealth();
}
float powerUse = Math.min(Timers.delta() * powerUsage, powerCapacity);
if(entity.target != null && entity.power.amount >= powerUse){
entity.power.amount -= powerUse;
entity.strength = Mathf.lerpDelta(entity.strength, 1f, 0.07f * Timers.delta());
}else{
entity.strength = Mathf.lerpDelta(entity.strength, 0f, 0.05f * Timers.delta());
}
if(entity.timer.get(timerTarget, 20)) {
rect.setSize(repairRadius * 2).setCenter(tile.drawx(), tile.drawy());
entity.target = Units.getClosest(tile.getTeam(), tile.drawx(), tile.drawy(), repairRadius,
unit -> unit.health < unit.maxhealth);
}
}
@Override
public TileEntity getEntity() {
return new RepairPointEntity();
}
public class RepairPointEntity extends TileEntity{
public Unit target;
public float strength;
}
}