From b1e5917323be53a69975cd70d87b5e36196c98e8 Mon Sep 17 00:00:00 2001 From: WarDref Date: Sun, 10 Jan 2021 23:13:23 +0300 Subject: [PATCH] Updated and added textures for blocks and tiles -WoodenPlank -clock -Sand -CeilingTile1 -CeilingTile2 -Wallpaper -Wood -ConcreteBlock -Glass -BrickWhite -Brick --- .../windcorp/progressia/test/TestContent.java | 79 +++++++++++++++--- .../assets/textures/blocks/Brick.png | Bin 0 -> 11053 bytes .../assets/textures/blocks/BrickWhite.png | Bin 0 -> 1461 bytes .../assets/textures/blocks/ConcreteBlock.png | Bin 0 -> 1216 bytes .../textures/blocks/{dirt.png => Dirt.png} | Bin .../assets/textures/blocks/Glass.png | Bin 0 -> 698 bytes ...granite_cracked.png => GraniteCracked.png} | Bin .../{granite_gravel.png => GraniteGravel.png} | Bin ...anite_monolith.png => GraniteMonolith.png} | Bin .../resources/assets/textures/blocks/Sand.png | Bin 0 -> 1649 bytes .../textures/blocks/{stone.png => Stone.png} | Bin .../assets/textures/blocks/WoodSize.png | Bin 0 -> 1964 bytes .../assets/textures/blocks/WoodenPlank.png | Bin 0 -> 1414 bytes .../resources/assets/textures/blocks/wood.png | Bin 0 -> 1779 bytes .../assets/textures/tiles/CeilingTile1.png | Bin 0 -> 1454 bytes .../assets/textures/tiles/CeilingTile2.png | Bin 0 -> 606 bytes .../tiles/{grass_side.png => GrassSide.png} | Bin .../tiles/{grass_top.png => GrassTop.png} | Bin .../assets/textures/tiles/ParquetFloor.png | Bin 0 -> 1592 bytes .../textures/tiles/{sand.png => Sand.png} | Bin .../tiles/{snow_half.png => SnowHalf.png} | Bin .../tiles/{snow_opaque.png => SnowOpaque.png} | Bin .../{snow_quarter.png => SnowQuarter.png} | Bin .../textures/tiles/{stones.png => Stones.png} | Bin .../assets/textures/tiles/Wallpaper.png | Bin 0 -> 952 bytes .../assets/textures/tiles/WoodenPlank.png | Bin 0 -> 1414 bytes .../{yellow_flowers.png => YellowFlowers.png} | Bin .../resources/assets/textures/tiles/clock.png | Bin 0 -> 764 bytes 28 files changed, 69 insertions(+), 10 deletions(-) create mode 100644 src/main/resources/assets/textures/blocks/Brick.png create mode 100644 src/main/resources/assets/textures/blocks/BrickWhite.png create mode 100644 src/main/resources/assets/textures/blocks/ConcreteBlock.png rename src/main/resources/assets/textures/blocks/{dirt.png => Dirt.png} (100%) create mode 100644 src/main/resources/assets/textures/blocks/Glass.png rename src/main/resources/assets/textures/blocks/{granite_cracked.png => GraniteCracked.png} (100%) rename src/main/resources/assets/textures/blocks/{granite_gravel.png => GraniteGravel.png} (100%) rename src/main/resources/assets/textures/blocks/{granite_monolith.png => GraniteMonolith.png} (100%) create mode 100644 src/main/resources/assets/textures/blocks/Sand.png rename src/main/resources/assets/textures/blocks/{stone.png => Stone.png} (100%) create mode 100644 src/main/resources/assets/textures/blocks/WoodSize.png create mode 100644 src/main/resources/assets/textures/blocks/WoodenPlank.png create mode 100644 src/main/resources/assets/textures/blocks/wood.png create mode 100644 src/main/resources/assets/textures/tiles/CeilingTile1.png create mode 100644 src/main/resources/assets/textures/tiles/CeilingTile2.png rename src/main/resources/assets/textures/tiles/{grass_side.png => GrassSide.png} (100%) rename src/main/resources/assets/textures/tiles/{grass_top.png => GrassTop.png} (100%) create mode 100644 src/main/resources/assets/textures/tiles/ParquetFloor.png rename src/main/resources/assets/textures/tiles/{sand.png => Sand.png} (100%) rename src/main/resources/assets/textures/tiles/{snow_half.png => SnowHalf.png} (100%) rename src/main/resources/assets/textures/tiles/{snow_opaque.png => SnowOpaque.png} (100%) rename src/main/resources/assets/textures/tiles/{snow_quarter.png => SnowQuarter.png} (100%) rename src/main/resources/assets/textures/tiles/{stones.png => Stones.png} (100%) create mode 100644 src/main/resources/assets/textures/tiles/Wallpaper.png create mode 100644 src/main/resources/assets/textures/tiles/WoodenPlank.png rename src/main/resources/assets/textures/tiles/{yellow_flowers.png => YellowFlowers.png} (100%) create mode 100644 src/main/resources/assets/textures/tiles/clock.png diff --git a/src/main/java/ru/windcorp/progressia/test/TestContent.java b/src/main/java/ru/windcorp/progressia/test/TestContent.java index ebb301a..745c639 100644 --- a/src/main/java/ru/windcorp/progressia/test/TestContent.java +++ b/src/main/java/ru/windcorp/progressia/test/TestContent.java @@ -73,57 +73,116 @@ public class TestContent { placeableBlacklist.add("Test:Air"); register(new BlockData("Test:Dirt")); - register(new BlockRenderOpaqueCube("Test:Dirt", getBlockTexture("dirt"))); + register(new BlockRenderOpaqueCube("Test:Dirt", getBlockTexture("Dirt"))); register(new BlockLogic("Test:Dirt")); register(new BlockData("Test:Stone")); - register(new BlockRenderOpaqueCube("Test:Stone", getBlockTexture("stone"))); + register(new BlockRenderOpaqueCube("Test:Stone", getBlockTexture("Stone"))); register(new BlockLogic("Test:Stone")); for (String type : new String[] {"Monolith", "Cracked", "Gravel"}) { String id = "Test:Granite" + type; register(new BlockData(id)); - register(new BlockRenderOpaqueCube(id, getBlockTexture("granite_" + type.toLowerCase()))); + register(new BlockRenderOpaqueCube(id, getBlockTexture("Granite" + type))); register(new BlockLogic(id)); } + register(new BlockData("Test:Brick")); + register(new BlockRenderOpaqueCube("Test:Brick", getBlockTexture("Brick"))); + register(new BlockLogic("Test:Brick")); + + register(new BlockData("Test:BrickWhite")); + register(new BlockRenderOpaqueCube("Test:BrickWhite", getBlockTexture("BrickWhite"))); + register(new BlockLogic("Test:BrickWhite")); + + register(new BlockData("Test:Glass")); + register(new BlockRenderTransparentCube("Test:Glass", getBlockTexture("Glass"))); + register(new BlockLogic("Test:Glass")); + + register(new BlockData("Test:Sand")); + register(new BlockRenderOpaqueCube("Test:Sand", getBlockTexture("Sand"))); + register(new BlockLogic("Test:Sand")); + + register(new BlockData("Test:Concrete")); + register(new BlockRenderOpaqueCube("Test:Concrete", getBlockTexture("ConcreteBlock"))); + register(new BlockLogic("Test:Concrete")); + + register(new BlockData("Test:Wood")); + register(new BlockRenderOpaqueCube("Test:Wood", + getBlockTexture("Wood"), + getBlockTexture("Wood"), + getBlockTexture("WoodSize"), + getBlockTexture("WoodSize"), + getBlockTexture("WoodSize"), + getBlockTexture("WoodSize"))); + register(new BlockLogic("Test:Wood")); + + register(new BlockData("Test:WoodenPlank")); + register(new BlockRenderOpaqueCube("Test:WoodenPlank", getBlockTexture("WoodenPlank"))); + register(new BlockLogic("Test:WoodenPlank")); + BlockDataRegistry.getInstance().values().forEach(PLACEABLE_BLOCKS::add); PLACEABLE_BLOCKS.removeIf(b -> placeableBlacklist.contains(b.getId())); PLACEABLE_BLOCKS.sort(Comparator.comparing(BlockData::getId)); + } private static void registerTiles() { Set placeableBlacklist = new HashSet<>(); register(new TileData("Test:Grass")); - register(new TileRenderGrass("Test:Grass", getTileTexture("grass_top"), getTileTexture("grass_side"))); + register(new TileRenderGrass("Test:Grass", getTileTexture("GrassTop"), getTileTexture("GrassSide"))); register(new TestTileLogicGrass("Test:Grass")); register(new TileData("Test:Stones")); - register(new TileRenderTransparentSurface("Test:Stones", getTileTexture("stones"))); + register(new TileRenderTransparentSurface("Test:Stones", getTileTexture("Stones"))); register(new HangingTileLogic("Test:Stones")); register(new TileData("Test:YellowFlowers")); - register(new TileRenderTransparentSurface("Test:YellowFlowers", getTileTexture("yellow_flowers"))); + register(new TileRenderTransparentSurface("Test:YellowFlowers", getTileTexture("YellowFlowers"))); register(new HangingTileLogic("Test:YellowFlowers")); register(new TileData("Test:Sand")); - register(new TileRenderTransparentSurface("Test:Sand", getTileTexture("sand"))); + register(new TileRenderTransparentSurface("Test:Sand", getTileTexture("Sand"))); register(new HangingTileLogic("Test:Sand")); register(new TileData("Test:SnowOpaque")); - register(new TileRenderOpaqueSurface("Test:SnowOpaque", getTileTexture("snow_opaque"))); + register(new TileRenderOpaqueSurface("Test:SnowOpaque", getTileTexture("SnowOpaque"))); register(new HangingTileLogic("Test:SnowOpaque")); register(new TileData("Test:SnowHalf")); - register(new TileRenderTransparentSurface("Test:SnowHalf", getTileTexture("snow_half"))); + register(new TileRenderTransparentSurface("Test:SnowHalf", getTileTexture("SnowHalf"))); register(new HangingTileLogic("Test:SnowHalf")); register(new TileData("Test:SnowQuarter")); - register(new TileRenderTransparentSurface("Test:SnowQuarter", getTileTexture("snow_quarter"))); + register(new TileRenderTransparentSurface("Test:SnowQuarter", getTileTexture("SnowQuarter"))); register(new HangingTileLogic("Test:SnowQuarter")); + register(new TileData("Test:Time")); + register(new TileRenderTransparentSurface("Test:Time", getTileTexture("Time"))); + register(new HangingTileLogic("Test:Time")); + + register(new TileData("Test:CeilingTile1")); + register(new TileRenderOpaqueSurface("Test:CeilingTile1", getTileTexture("CeilingTile1"))); + register(new HangingTileLogic("Test:CeilingTile1")); + + register(new TileData("Test:CeilingTile2")); + register(new TileRenderOpaqueSurface("Test:CeilingTile2", getTileTexture("CeilingTile2"))); + register(new HangingTileLogic("Test:CeilingTile2")); + + register(new TileData("Test:WoodenPlank")); + register(new TileRenderOpaqueSurface("Test:WoodenPlank", getTileTexture("WoodenPlank"))); + register(new HangingTileLogic("Test:WoodenPlank")); + + register(new TileData("Test:ParquetFloor")); + register(new TileRenderOpaqueSurface("Test:ParquetFloor", getTileTexture("ParquetFloor"))); + register(new HangingTileLogic("Test:ParquetFloor")); + + register(new TileData("Test:Wallpaper")); + register(new TileRenderOpaqueSurface("Test:Wallpaper", getTileTexture("Wallpaper"))); + register(new HangingTileLogic("Test:Wallpaper")); + TileDataRegistry.getInstance().values().forEach(PLACEABLE_TILES::add); PLACEABLE_TILES.removeIf(b -> placeableBlacklist.contains(b.getId())); PLACEABLE_TILES.sort(Comparator.comparing(TileData::getId)); diff --git a/src/main/resources/assets/textures/blocks/Brick.png b/src/main/resources/assets/textures/blocks/Brick.png new file mode 100644 index 0000000000000000000000000000000000000000..161ae4dbecebde43b3e1556ce2c61ab8650df1ea GIT binary patch literal 11053 zcmeHsXIN9)wsugIt^`p;5JD)@AwX!-2}ti9DItYUFoa%2DF#sbR;qv$1p(>O5fnkH z(v;pox^$5C1@-LX`M&*~d(ZRS`)}t-S#!>Jyko3)jWO4nGhsSfx2VXkkpln#DpeJj z9^v=u>4)?T;Tv-~?-c-W`Mi&T2~H3033A0^(DqI!5YF2b1wwh*qX7V~q3k5%*qQ2B z*hz7?>6wgsvvNsw*E=@mVS!vPtJnNREe8HDr3F#9jh+=*x_eUEdGbwQFi8Vnm6g=f z+@PcA{zza}@+9fF!uaF(d{m3Xf%k}%w)h2anWO#Etb@I&%4r`@X69Y-N7L)h>D8;3 zjy7R6B-q)2H~xp~AWZk!Lhp-xtM_Va(ipqOj{>lH>Nf_4Cd4@b3&C$SJG@h;h(k(uIH@PJ{Qle_Mpkd2XqI7Fx{QLX){nS)H9>3Qz z8#lkd*r}uBN04{aj#XHE?oDE@@b){NOxqW0uYNoEcC;Jgc{PFgMtu{g;Gptk!_p^U z@y@1y)BEw!0vZ2g-3#3$HBt22=-!rR?Mo+PrOS0)i)Jdk5~C45`R}f|&px%dFNaY- zL>}L&w>`=|r0qdbBQ~!Y&)a@+xXwQ&`o%tZ^gaKP(6V)8Bj1CdRJXIQ+KcZC)q<`3tg(iy?x5o;bJB_WvCnc-pZmao@s@rqE>Rq&0=Pg?RDqo zh``x%Pp>CF+^(EZV~f$;Y3o8cLXeH}otDk}6Ov3tkm?U?7T;th8Dax(F|2+tdgcBp zb=p8x3h2KRdOtUh^F=Vmr9zZ(}

alkZ~H6H8x);BHdZNRbWB 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 P00000NkvXXu0mjf01meM literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/textures/blocks/ConcreteBlock.png b/src/main/resources/assets/textures/blocks/ConcreteBlock.png new file mode 100644 index 0000000000000000000000000000000000000000..f8cdb78a04cc7626cda7eae0784ec790fcf4cc92 GIT binary patch literal 1216 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/textures/blocks/stone.png b/src/main/resources/assets/textures/blocks/Stone.png similarity index 100% rename from src/main/resources/assets/textures/blocks/stone.png rename to src/main/resources/assets/textures/blocks/Stone.png diff --git a/src/main/resources/assets/textures/blocks/WoodSize.png b/src/main/resources/assets/textures/blocks/WoodSize.png new file mode 100644 index 0000000000000000000000000000000000000000..e1765194e0d963a41a9b2d3e17833ba0419ff224 GIT binary patch literal 1964 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 IM6N<$g77h}fB*mh literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/textures/tiles/CeilingTile2.png b/src/main/resources/assets/textures/tiles/CeilingTile2.png new file mode 100644 index 0000000000000000000000000000000000000000..fdfc6527ec406ea9e3f914bd99a6da81a2673b2b GIT binary patch literal 606 zcmV-k0-^nhP)EX>4Tx04R}tkvmAkP!xv$riu?LB6bjQ2vR#)5EXHhDi*;)X)CnqU~g8t<~wc|MJj+I s6+n@SZAB`8B9;HOs#UFORjb;uyjQFu-$PDsGXMYp07*qoM6N<$g5x{?I{*Lx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/textures/tiles/grass_side.png b/src/main/resources/assets/textures/tiles/GrassSide.png similarity index 100% rename from src/main/resources/assets/textures/tiles/grass_side.png rename to src/main/resources/assets/textures/tiles/GrassSide.png diff --git a/src/main/resources/assets/textures/tiles/grass_top.png b/src/main/resources/assets/textures/tiles/GrassTop.png similarity index 100% rename from src/main/resources/assets/textures/tiles/grass_top.png rename to src/main/resources/assets/textures/tiles/GrassTop.png diff --git a/src/main/resources/assets/textures/tiles/ParquetFloor.png b/src/main/resources/assets/textures/tiles/ParquetFloor.png new file mode 100644 index 0000000000000000000000000000000000000000..c5150c8bdabfb6099548a451206b1d7c39349f05 GIT binary patch literal 1592 zcmV-82FLk{P)EX>4Tx04R}tkv&MmP!xqvQ>9WWf)){R$WWauh>AE$6^me@v=v%)FnQ@8G-*gu zTpR`0f`dPcRRi6e@tQNECM zS>e3JS*_Gq>z@3Dp}e+|<~pqr#Ib|~k`N)IhB7L!5T#us#YBqEV;=rt$DbsZOs+B* zITlcb3d!+<|H1FsnuV!JHz^bYx?gPjV-yJN0?oQ@e;?a+^91le16NwxUu^)hpQP8@ zTI2}m+XgPK+nT%wT2LBa&jXn_ZQ7`J-(t z00G1~xZvOa_0Oyl5er+F5fKpyg)kzLK@}w`<{p`&cLAn(W`2Hr`SmY{rY$oMV}-fD zJ3ef4&gqfankpnLh=@U8+*(vt6SeStpAjLz();mn$jqv`+OEgr;q7|8?+Xbt5r~Vc zHJxruTukn3=@|In4ypnyN?@O`8x1BQlv-RDOJa zsj8+LnMA})9?3+XzCQz~s>k!DA0Jkh`-(gs51!#OL=MxPiB!d>e|vrV`^R_bDNW2A zfB@zWpf%mLJu?C5x{hhq*RgGrnUXRrdTU@LRqu_8(h~|IYE7pZn3=h#wrywOMLIVi zBB|){`A0-V6$sO;qO$TvaOqt{+~agUyT@%=RROW6jMjVCjMOiWCvECRcHS%;3}*gu zd5Or@R0QGi>H9`Rs`~PF5{UarRH{lv%$flB9OWfXwpO&xNbWU5s^+aE+VF|h=?p{s>|BUt%`_f-)56$*I;m1T6t6P zna-|@B<0Y)A~c!q8k6)JMRT*v4{JeCgSi2UW}k7gbbl8BaTzxQbtK}2)&rL{SY znDz71DKm-akEeZE7IS~ujH*QBHgo*>EC3OSz|2KNfSb@s1wv*Pmwr5qHae1aH!v9N z=BlDlZQ|ya>s6axw|yN;WH!j>$CqC|JakbDXJ!#8D)orwsY}nQ$Rs8R8q_On^N8rZ z1HAMOVu;@Kqo_UY{lmj`?p)N+u&!fP%v4B3 zYSX5Axn6y`h&-Q9`t8T1sBWea)AM<&Dk28>kC!tOtE#(GQC6y|n?v}^(+OaY0Hc1q zGPC~UukWW>L`J0o`#$mi`to%8=`ilrG2It!+S}Y`WL~eEcD);8nr+*@jzL6v*{)%^ zG$kM+nZeAr%gn4X7AB4eW7Mq8rcY-a{&^>~Ph$*vfT12G&`_tETETfO>KA+!a)k|h(l>h>KJH2IO@9nzn zy|-;Y3nRHe%*?kKsVWBaw-3kX%YNVa{rX_(D&ih}blVNgmZ2g{{NZ7Mc(Vp@*A|gP z6qWk0-m(p?shNR!o3lYHikWRQk7%tmQ6^?E1d(~au9-FW$zUR4qGc@ZQB`1K04z`y z7VfP97^9EYBLl=$<>u)@L_S?bvS{BY6D_@mM^ROgetmkKW?!FPBSRtPuBrf-D65Dn qGH<_x|3{PogvWGWTFWee0sI%X86O~+gG(gwPU%01yi{kb;;F6aiIDc^2G-w1DnR zYpw$nfnFEdG54Z{hb}Cj0wjD6ieNhvd-w|t(rVPV-SkWiXTqwsU=$o-HMph+_;&iR zp?1e@H?IXg2R~Y5d4Y>iw2PANW(g$7g_hb`PwF!plndR!uf_JMH=EwpT$^@RP?Kq4YJp+9 zT0nqU8$Wu0v=&td5T@_N-hF6!oMq}%gGr%K+uL277=!syW8V>1Q*;L`BWVtDM~Q}Z zXHzM4hZItPqG>7<&O&Qi0JLx8rh?a}*i$jvZHj$yA8WThiq>ig=L24w-W_XQqi$6f zt`Q7(bcibqecUEkf&-OxfwQYKYTa->Pz6zS`eaX$oT;it+#c_Mkw$zMsE~HMX1Yfg%skj2~xesiEs(5GAHCh4 zfrtY~LN;xim^_)xu#GhP*~8~75=nSf3v2LeqTA}uPTLe$?}gRQ3!cSB1f2zsYFZ8u zg{dCC5t{6!U%Re-+%^rkPpRtXLm5|=Yt282`)-uCm}4i->!4D*YePg(l>=aA=JbK? a5B>-GGAMa*pr$PV0000EX>4Tx04R}tkvmAkP!xv$riu?LB6bjQ2vR#)5EXHhDi*;)X)CnqU~#cC4tNc+k0&x>C^Ms-S=~3217DH5JApJmTx#s zcUum|zVFX{w{5sJwNQV4IpAQhFGXOwLC$#*Ah}lW`$hs|k~6YF3I<8TGxK~@{q^tL z>duI&%1qeT>PQAd62Z*)@;Yr-mMj1uGy-5a7&eaeRzH6GhXOaUfoU5u*Q`^&_HI&g1{hv%>0UFc&)`?A{eZHUM=Zd zugAWVAh^2s+DOO-@YwgY)<~;+s{&93$*@gi1mV%t+v}=IiPuuAgCyfRPDxc6k?-f5 zWWZJVc3c_JuQMYJXJ+>WSa$vV{U-wi5VUrZH&c&&AIb1cZdH|eTxalMg8+k>Nn))A z0HAsVpfWX*9Kp!Q$kxCB(A^nvNhB?gC*%IC$S_<{Jzb|LtAO+BU|j30Dgaw0K-=5) ze6{@l$*l9zcnI24nbKvr-j5{{DB=2!H*Ug45sY0x_dG+A}W*Q zM@?d{@FS=YJljz)bC`@Rm#wbgNasiS3k zW(Wa3*J+y|0`J#FuqwL;hTw|m83qY5IHMqaUL@6^XzdMSx$Ed1pfQNCtXlMkF$FM#0$kxaF&}Y2fX;Jl^(g z-}cveN~+AB$;h!_19J-$%#lvDjSq21+x5ra|2+1`bAOyVuH*djI=|`&pvoF;+jd^p zR&^XlGE5UBSyktG84j|3`Tm=&s%O4?d>Si*8fWFq5R^am5kG$hFq0rN!}7h@_|0eD zNsY`kLq_)`!vctzk#w6FADqGVwr#Md=avG%R%O|6y`5v5wCxarF;Zq~cud2vEh{4o z5E5kB?##@HW38ScS?|X>*Y()<(PU)zRAofpiM>&R(S82!3Py0otB-x#Y~POk4@epc UIGZTAEX>4Tx04R}tkvmAkP!xv$riu?LB6bjQ2vR#)5EXHhDi*;)X)CnqU~@~8FWQhbVF}#ZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b z0Od(UK~zY`?UX&PgD?z$Z5)Oif&qnvISZVH^CGb@vmoUfAmaE<@P5<+O@&(N)k}VC z=Sv*h*fb4XDG6LGAHeGY>d0UmM_HBywAR4Pz|25IkR%D@d5%v3oO9B3-Ce!4R?4!( zs1OaqAZ^?3-mdR^aL!2-fQYs^BHq<|@8d$G)VE4R01>xw-TQ0z5I}4FYb_!`MBBlu zOw$yXrnelKdH1Cc0YV6;^8DvtT~cUin#KW)F<962uCuikvMj^sLNmr-RaLT9?mW-n uy$7Wfgb?7U$WFD2qA2jKo81TS4**}_?oL2*wbwEL0000