Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 24 additions & 5 deletions src/wikigen/generators/BlockGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,14 @@

import arc.files.*;
import arc.struct.*;
import mindustry.*;
import mindustry.content.*;
import mindustry.ctype.*;
import mindustry.world.*;
import mindustry.world.blocks.*;
import mindustry.world.blocks.environment.*;
import mindustry.world.blocks.legacy.*;
import mindustry.world.meta.*;
import wikigen.*;

@Generates(ContentType.block)
Expand All @@ -16,14 +18,31 @@ public class BlockGenerator extends FileGenerator<Block>{
@Override
public ObjectMap<String, Object> vars(Block block){
return ObjectMap.of(
"itemDrop", block.itemDrop,
"liquidDrop", block instanceof Floor f ? f.liquidDrop : null,
"speedMultiplier", block instanceof Floor f && f.speedMultiplier != 1f ? (int)(f.speedMultiplier * 100) + "%" : null,
"dragMultiplier", block instanceof Floor f && f.dragMultiplier != 1f ? (int)(f.dragMultiplier * 100) + "%" : null,
"status", block instanceof Floor f && f.status != StatusEffects.none ? f.status : null
"itemDrop", block.itemDrop,
"liquidDrop", block instanceof Floor f ? f.liquidDrop : null,
"speedMultiplier", block instanceof Floor f && f.speedMultiplier != 1f ? (int)(f.speedMultiplier * 100) + "%" : null,
"dragMultiplier", block instanceof Floor f && f.dragMultiplier != 1f ? (int)(f.dragMultiplier * 100) + "%" : null,
"status", block instanceof Floor f && f.status != StatusEffects.none ? f.status : null,
"attributes", getAttributes(block)
);
}

public String getAttributes(Block block){
StringBuilder s = new StringBuilder();
for(Attribute a : Attribute.all){
if(block.attributes.get(a) != 0){
if(block instanceof Floor){
if(!s.isEmpty()) s.append("\n");
s.append(a.name).append(": ").append((int)(block.attributes.get(a) * 100)).append("%");
}else{
s.append(links(Vars.content.blocks().select(b -> b.minfo.mod == null && b.attributes.get(a) != 0)));
}
}
}
if(s.isEmpty()) return null;
return s.toString();
}

@Override
public String linkImage(Block content){
return "block-" + content.name + "-ui";
Expand Down
2 changes: 1 addition & 1 deletion src/wikigen/generators/ItemGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public ObjectMap<String, Object> vars(Item item){
"produced", links(Vars.content.blocks().select(b -> b.minfo.mod == null && ((drillable && b instanceof Drill d && d.tier >= item.hardness) || (b instanceof GenericCrafter g && g.outputItem != null && g.outputItem.item == item)))),
"used", links(Vars.content.blocks().select(b -> b.minfo.mod == null && b.requirements != null && Structs.contains(b.requirements, i -> i.item == item))),
"crafting", links(Vars.content.blocks().select(b -> b.minfo.mod == null && b.consumes.all() != null && Structs.contains(b.consumes.all(), c -> (c instanceof ConsumeItemFilter i && i.filter.get(item))
|| (c instanceof ConsumeItems h && Structs.contains(h.items, s -> s.item == item)))))
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should I ask why there was a million spaces here?

|| (c instanceof ConsumeItems h && Structs.contains(h.items, s -> s.item == item)))))
);
}

Expand Down
2 changes: 1 addition & 1 deletion src/wikigen/generators/UnitGenerator.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class UnitGenerator extends FileGenerator<UnitType>{
@Override
public ObjectMap<String, Object> vars(UnitType content){
return ObjectMap.of(
"created", links(Vars.content.blocks().select(b -> b.minfo.mod == null && b instanceof UnitFactory u && u.plans.contains(p -> p.unit == content)))
"created", links(Vars.content.blocks().select(b -> b.minfo.mod == null && b instanceof UnitFactory u && u.plans.contains(p -> p.unit == content)))
);
}
}
36 changes: 36 additions & 0 deletions src/wikigen/generators/WeatherGenerator.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package wikigen.generators;

import arc.struct.*;
import mindustry.ctype.*;
import mindustry.type.*;
import mindustry.world.meta.*;
import wikigen.*;

//TODO implement better support
@Generates(ContentType.weather)
public class WeatherGenerator extends FileGenerator<Weather>{

@Override
public ObjectMap<String, Object> vars(Weather weather){
return ObjectMap.of(
"attrs", getAttributes(weather)
);
}

public String getAttributes(Weather weather){
StringBuilder s = new StringBuilder();
for(Attribute a : Attribute.all){
if(weather.attrs.get(a) != 0){
if(!s.isEmpty()) s.append("\n");
s.append(a.name).append(": ").append((int)(weather.attrs.get(a) * 100)).append("%");
}
}
if(s.isEmpty()) return null;
return s.toString();
}

@Override
public String linkImage(Weather content){
return "weather-" + content.name + "-ui";
}
}
5 changes: 5 additions & 0 deletions templates/weather.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# <img id="spr" src="/$repo/images/weather-$name-ui.png"></img> $localizedName

$stats

---