mirror of
https://github.com/Anuken/Mindustry.git
synced 2026-09-22 13:01:12 +03:00
New base parts
This commit is contained in:
BIN
core/assets/baseparts/1599594352859.msch
Normal file
BIN
core/assets/baseparts/1599594352859.msch
Normal file
Binary file not shown.
2
core/assets/baseparts/752911659508695080.msch
Normal file
2
core/assets/baseparts/752911659508695080.msch
Normal file
@@ -0,0 +1,2 @@
|
||||
mschx<>E<EFBFBD>}r<>@ŵ|<7C>.0<EFBFBD><EFBFBD><1A>%<><02>Llpא4<07>iz47C<37>[e<>a<EFBFBD>Z==ie<69><17><>d<EFBFBD>x<EFBFBD><78><EFBFBD>N>|<7C><1E>Z<7F><5A>5<EFBFBD>N<EFBFBD><4E>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD>0}<7D>N^<5E><><EFBFBD>c<EFBFBD><63><EFBFBD>m<EFBFBD><6D>!֬<><m<><6D><EFBFBD>̯<EFBFBD>} bò<62><C3B2>}<7D>n<EFBFBD><6E>?yX<79><58>i<><69><EFBFBD><EFBFBD><EFBFBD>=n<>*<2A>3<0B>i<><69>:<3A><><EFBFBD>K<EFBFBD><1C><><EFBFBD><EFBFBD>7<EFBFBD><37>F<EFBFBD><0F><><1A><><EFBFBD>.<2E><><<3C><>:<3A><><EFBFBD>`P<>4<EFBFBD>H[x<>f?<3F><><EFBFBD><EFBFBD>Hq<48><71>^d<>+<2B>ty&<26>I<EFBFBD>H#V<>DRI<52><08>'9P#DeBIr <09>h<EFBFBD>J+&E<>0<EFBFBD>!<21><1F><><12><><EFBFBD>}<7D><><EFBFBD><EFBFBD>g<EFBFBD>@e&<26>Zj{<7B><<3C>Fd<46>\Q+<1A>U81<19>2*t<><74><EFBFBD>
|
||||
p<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><16><>L<EFBFBD><4C>.<2E><><EFBFBD>b_#<23>~<7E>?<3F><>1Zi<5A><69>Y<><0E><><EFBFBD><EFBFBD>00F˅<46>i
|
||||
BIN
core/assets/baseparts/752912199781056583.msch
Normal file
BIN
core/assets/baseparts/752912199781056583.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752912460620496957.msch
Normal file
BIN
core/assets/baseparts/752912460620496957.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752915237476368385.msch
Normal file
BIN
core/assets/baseparts/752915237476368385.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752915746673131550.msch
Normal file
BIN
core/assets/baseparts/752915746673131550.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752918895291007041.msch
Normal file
BIN
core/assets/baseparts/752918895291007041.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752918896331456582.msch
Normal file
BIN
core/assets/baseparts/752918896331456582.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752919619894902997.msch
Normal file
BIN
core/assets/baseparts/752919619894902997.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752921320802746461.msch
Normal file
BIN
core/assets/baseparts/752921320802746461.msch
Normal file
Binary file not shown.
1
core/assets/baseparts/752923816967012442.msch
Normal file
1
core/assets/baseparts/752923816967012442.msch
Normal file
@@ -0,0 +1 @@
|
||||
mschx<>5<EFBFBD>[<5B><> <05>k<02><>i<EFBFBD>5<EFBFBD>;<3B>B4E<34>K<EFBFBD>T<EFBFBD><54>{]k><3E><><EFBFBD><EFBFBD><EFBFBD>G<><47>ӔqJ<71><4A>q<EFBFBD><71>៩<><E19FA9><EFBFBD><EFBFBD><EFBFBD>\<5C><><1F><><EFBFBD><EFBFBD>K<EFBFBD><4B><EFBFBD><EFBFBD><EFBFBD>YZ<59>ך<EFBFBD>
|
||||
BIN
core/assets/baseparts/752926963076694047.msch
Normal file
BIN
core/assets/baseparts/752926963076694047.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752927009641857205.msch
Normal file
BIN
core/assets/baseparts/752927009641857205.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752930133874049034.msch
Normal file
BIN
core/assets/baseparts/752930133874049034.msch
Normal file
Binary file not shown.
4
core/assets/baseparts/752930845685448825.msch
Normal file
4
core/assets/baseparts/752930845685448825.msch
Normal file
@@ -0,0 +1,4 @@
|
||||
mschx<>-<2D>Mn<4D> `<13><><EFBFBD>b<EFBFBD>t5<74><1C>I\<15>$# j<>?~q<><71><0F>32Mt3<74><33><EFBFBD>1}<7D>p垗T<E59E97>V<EFBFBD><56><EFBFBD>q<EFBFBD>ؖ<EFBFBD>;W
|
||||
<EFBFBD>8<EFBFBD><EFBFBD><EFBFBD><EFBFBD>k~<7E><><EFBFBD>t<74>|nIz<49><7A><EFBFBD>R<EFBFBD><52><EFBFBD>$4<>_<EFBFBD>iAbjGIu~<7E><>M<><4D>6<EFBFBD><36><EFBFBD><13>C~d<><17><>SF<1A>0<><30>A<><41>X4<58>2<EFBFBD><32>2<EFBFBD>p
|
||||
<EFBFBD>FD<"F<18><><EFBFBD><EFBFBD>8<EFBFBD><38>e<EFBFBD><65>^<1E>H^
|
||||
AG
|
||||
BIN
core/assets/baseparts/752932257538506823.msch
Normal file
BIN
core/assets/baseparts/752932257538506823.msch
Normal file
Binary file not shown.
1
core/assets/baseparts/752937073991745554.msch
Normal file
1
core/assets/baseparts/752937073991745554.msch
Normal file
@@ -0,0 +1 @@
|
||||
mschx<>-<2D>k<0E> <04>)[<5B><><EFBFBD><EFBFBD>S<EFBFBD>PHI$<24>mB<6D><42><EFBFBD>w<EFBFBD>5<EFBFBD><35>L<18><>70<37>_"<22>=<3D>Zc<5A><63><EFBFBD><EFBFBD>¶<EFBFBD><C2B6>g+<2B>-1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>\R<>h<EFBFBD>A<EFBFBD>9<EFBFBD><39><EFBFBD><EFBFBD>Q)<29>R<EFBFBD>˴oG <11><><03>#<23><><EFBFBD><EFBFBD>E<EFBFBD><45><EFBFBD>ģ$<24>8<EFBFBD><38><EFBFBD>A<EFBFBD><41>ж<EFBFBD>Ih<49>N8<0B><><EFBFBD><EFBFBD>p<06>5\<5C><18>r<EFBFBD><72>;K<><4B><0B><>%
|
||||
BIN
core/assets/baseparts/752937145978716332.msch
Normal file
BIN
core/assets/baseparts/752937145978716332.msch
Normal file
Binary file not shown.
1
core/assets/baseparts/752937230456193185.msch
Normal file
1
core/assets/baseparts/752937230456193185.msch
Normal file
@@ -0,0 +1 @@
|
||||
mschx<>MI<0E>0<1C><>"qh<71><68><EFBFBD><EFBFBD><EFBFBD>,<1A><04>8<EFBFBD>ϯӃǣYlL<6C><08><>O<C298>X<EFBFBD><58>5<EFBFBD>G<<3C><>,<2C><>*1<>!xi<78>%W<><01>إ9+<2B>pM<12>Y8}b<>)<29>a<EFBFBD><61><EFBFBD>v<EFBFBD><76><EFBFBD>A<EFBFBD><41>-<2D><>S%/<2F><17><>7<10>ރ<EFBFBD><DE83><EFBFBD>o<6F><C2AD><EFBFBD>r<18> <09>m;s
|
||||
1
core/assets/baseparts/752939992300388483.msch
Normal file
1
core/assets/baseparts/752939992300388483.msch
Normal file
@@ -0,0 +1 @@
|
||||
mschx<>=<3D> n<>0E<07>} !]U<><02><>M<EFBFBD><4D>J<EFBFBD><4A><EFBFBD><EFBFBD>n<EFBFBD><6E><EFBFBD>×<EFBFBD>@_~<7E>瑁<EFBFBD>)K(5j<35><6A>o<EFBFBD>uz<75>?ڭ<>2<EFBFBD><32><EFBFBD>f?}+ou<><75><15><><EFBFBD>l<EFBFBD><6C>Qq<51><71>&O<><0F>:=><3E><>n<EFBFBD>6<EFBFBD><36><EFBFBD>We<57>L<EFBFBD><4C><EFBFBD>]3<0C><>G<EFBFBD><47><EFBFBD>o<EFBFBD><6F><EFBFBD>n<EFBFBD><6E><EFBFBD><EFBFBD>q<EFBFBD>_j<5F><6A>v<EFBFBD><76><EFBFBD>5,+}<10>$><3E><><EFBFBD>!I<>*%!#<23>a«x<C2AB>یx͜v"<22>K4%t =L<>g\<5C>H(1v=<3D><><EFBFBD><EFBFBD>Cϡ<17><05><12>KL/<2F>W<EFBFBD>+4+<2B><15><1A><><EFBFBD>`z<><7A>
|
||||
1
core/assets/baseparts/752941306489077823.msch
Normal file
1
core/assets/baseparts/752941306489077823.msch
Normal file
@@ -0,0 +1 @@
|
||||
mschx<>-<2D>K<0E>0D'<27><>Ю<EFBFBD>]<0F><><EFBFBD>E<EFBFBD>lB@D<>_!<21>c<EFBFBD><63><01><>W<EFBFBD><19>|<7C>$N㺜,c]w<>6<EFBFBD>3<EFBFBD>ϋ<0E>L<08><>Ă<EFBFBD>vH<76>ao6<6F>JB<4A><42>A<><41><12>׆<EFBFBD>5ЊN<0F>[<5B>U<EFBFBD>a<EFBFBD><61><EFBFBD><EFBFBD>-
|
||||
BIN
core/assets/baseparts/752942460573057196.msch
Normal file
BIN
core/assets/baseparts/752942460573057196.msch
Normal file
Binary file not shown.
2
core/assets/baseparts/752944648628076745.msch
Normal file
2
core/assets/baseparts/752944648628076745.msch
Normal file
@@ -0,0 +1,2 @@
|
||||
mschx<>M<EFBFBD>an<61> <10><1F><><EFBFBD>mM<6D><4D><1C><>tC<74>`<10><><EFBFBD>{<7B>]:<3A><>&<1F><><EFBFBD>=<3D><04><><1B>zh<7A><68>`<60><><EFBFBD>WiS<69>Oa!<21>w)(<28><>A/<2F><07>zc<7A><63>yw<79>6͢<>`<60><>^)<29>HE'<27>]<5D><>j!<17><>L7<4C>{4Q;<3B>6<EFBFBD>x<EFBFBD>E?ܡ><3E>L{y<><79>_<EFBFBD><5F><EFBFBD>̇<><CC87><EFBFBD><EFBFBD><EFBFBD>Ȗ<10><><EFBFBD><EFBFBD>$ʎ<><17><><EFBFBD>j7C<37>n<EFBFBD>6<EFBFBD><36><EFBFBD><EFBFBD>ѳ!Ot-G+ĉ<><04>o<12><><EFBFBD><EFBFBD>.?<3F><>d<EFBFBD>
|
||||
<EFBFBD>̏<EFBFBD>kr/<2F><17>8N4@Ϩ<>d41<34>SqÂ<71><C382>c%
|
||||
BIN
core/assets/baseparts/752955880965799966.msch
Normal file
BIN
core/assets/baseparts/752955880965799966.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752961534690328648.msch
Normal file
BIN
core/assets/baseparts/752961534690328648.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752961607314702336.msch
Normal file
BIN
core/assets/baseparts/752961607314702336.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752965444419453010.msch
Normal file
BIN
core/assets/baseparts/752965444419453010.msch
Normal file
Binary file not shown.
BIN
core/assets/baseparts/752967201597947924.msch
Normal file
BIN
core/assets/baseparts/752967201597947924.msch
Normal file
Binary file not shown.
@@ -26,6 +26,7 @@ public class BaseGenerator{
|
||||
private Tiles tiles;
|
||||
private Team team;
|
||||
private ObjectMap<Item, OreBlock> ores = new ObjectMap<>();
|
||||
private ObjectMap<Item, Floor> oreFloors = new ObjectMap<>();
|
||||
private Seq<Tile> cores;
|
||||
|
||||
public void generate(Tiles tiles, Seq<Tile> cores, Tile spawn, Team team, Sector sector){
|
||||
@@ -41,6 +42,8 @@ public class BaseGenerator{
|
||||
for(Block block : content.blocks()){
|
||||
if(block instanceof OreBlock && block.asFloor().itemDrop != null){
|
||||
ores.put(block.asFloor().itemDrop, (OreBlock)block);
|
||||
}else if(block.isFloor() && block.asFloor().itemDrop != null && !oreFloors.containsKey(block.asFloor().itemDrop)){
|
||||
oreFloors.put(block.asFloor().itemDrop, block.asFloor());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,7 +76,8 @@ public class BaseGenerator{
|
||||
pass(tile -> {
|
||||
if(!tile.block().alwaysReplace) return;
|
||||
|
||||
if((tile.drop() != null || (tile.floor().liquidDrop != null && Mathf.chance(nonResourceChance * 2))) && Mathf.chance(resourceChance)){
|
||||
if(((tile.overlay().asFloor().itemDrop != null || (tile.drop() != null && Mathf.chance(nonResourceChance)))
|
||||
|| (tile.floor().liquidDrop != null && Mathf.chance(nonResourceChance * 2))) && Mathf.chance(resourceChance)){
|
||||
Seq<BasePart> parts = bases.forResource(tile.drop() != null ? tile.drop() : tile.floor().liquidDrop);
|
||||
if(!parts.isEmpty()){
|
||||
tryPlace(parts.random(), tile.x, tile.y);
|
||||
@@ -94,10 +98,6 @@ public class BaseGenerator{
|
||||
|
||||
//small walls
|
||||
pass(tile -> {
|
||||
//no walls around cores
|
||||
if(cores.contains(t -> t.within(tile, (3 + 4) * tilesize))){
|
||||
return;
|
||||
}
|
||||
|
||||
if(tile.block().alwaysReplace){
|
||||
boolean any = false;
|
||||
@@ -175,19 +175,20 @@ public class BaseGenerator{
|
||||
}
|
||||
|
||||
if(part.required instanceof Item){
|
||||
Item item = (Item)part.required;
|
||||
for(Stile tile : result.tiles){
|
||||
if(tile.block instanceof Drill){
|
||||
|
||||
tile.block.iterateTaken(tile.x + cx, tile.y + cy, (ex, ey) -> {
|
||||
|
||||
if(!tiles.getn(ex, ey).floor().isLiquid){
|
||||
tiles.getn(ex, ey).setOverlay(ores.get((Item)part.required));
|
||||
set(tiles.getn(ex, ey), item);
|
||||
}
|
||||
|
||||
Tile rand = tiles.getc(ex + Mathf.range(1), ey + Mathf.range(1));
|
||||
if(!rand.floor().isLiquid){
|
||||
//random ores nearby to make it look more natural
|
||||
rand.setOverlay(ores.get((Item)part.required));
|
||||
set(rand, item);
|
||||
}
|
||||
});
|
||||
}
|
||||
@@ -196,9 +197,32 @@ public class BaseGenerator{
|
||||
|
||||
Schematics.place(result, cx + result.width/2, cy + result.height/2, team);
|
||||
|
||||
//fill drills with items after placing
|
||||
if(part.required instanceof Item){
|
||||
Item item = (Item)part.required;
|
||||
for(Stile tile : result.tiles){
|
||||
if(tile.block instanceof Drill){
|
||||
|
||||
Building build = world.tile(tile.x + cx, tile.y + cy).build;
|
||||
|
||||
if(build != null){
|
||||
build.items.add(item, build.block.itemCapacity);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void set(Tile tile, Item item){
|
||||
if(ores.containsKey(item)){
|
||||
tile.setOverlay(ores.get(item));
|
||||
}else if(oreFloors.containsKey(item)){
|
||||
tile.setFloor(oreFloors.get(item));
|
||||
}
|
||||
}
|
||||
|
||||
boolean isTaken(Block block, int x, int y){
|
||||
int offsetx = -(block.size - 1) / 2;
|
||||
int offsety = -(block.size - 1) / 2;
|
||||
|
||||
@@ -326,7 +326,7 @@ public class Tile implements Position, QuadTreeObject, Displayable{
|
||||
setOverlay(content.block(ore));
|
||||
}
|
||||
|
||||
public void setOverlay(Block block){
|
||||
public void setOverlay(@NonNull Block block){
|
||||
this.overlay = (Floor)block;
|
||||
|
||||
recache();
|
||||
|
||||
Reference in New Issue
Block a user