From a7267d143e6960359096856aa77f98c6a2d65b46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20N=C3=BCcke?= Date: Sun, 14 Jun 2015 15:25:21 +0200 Subject: [PATCH] Added texture for data card, added soft and hard input size limits and added energy costs. --- assets/items.psd | Bin 624946 -> 635014 bytes src/main/resources/application.conf | 18 +++++ .../opencomputers/textures/items/DataCard.png | Bin 0 -> 489 bytes .../textures/items/DataCard.png.mcmeta | 15 ++++ src/main/scala/li/cil/oc/Settings.scala | 5 ++ .../li/cil/oc/common/item/DataCard.scala | 2 +- .../opencomputers/DriverDataCard.scala | 11 +-- .../li/cil/oc/server/component/DataCard.scala | 68 ++++++++++++------ 8 files changed, 91 insertions(+), 28 deletions(-) create mode 100644 src/main/resources/assets/opencomputers/textures/items/DataCard.png create mode 100644 src/main/resources/assets/opencomputers/textures/items/DataCard.png.mcmeta diff --git a/assets/items.psd b/assets/items.psd index 78087d3e982a84a129dc4b8f48e14c64a8d16d85..944dd993d5bc405cb1edf6d61a4418184ac4ee00 100644 GIT binary patch delta 18096 zcmc&*2Ur!?ww`l@*?ScAs1yMajzCaA5CtMA0vc4XfO->6j0H7z#DYda1!BS8NL)r^ zj3w7J3mQF%HMVFh5iGGwOkxttwcJ<|70z3G>Y3r_%lGd0-gCZ#GrRw5uUY$_wf5e! zN2rfKuq+@EuxyGB*!(6YMv4k z71c5&E;cT%ZB%m0xaN2hyEU0^K3ROS`pkwgEnZZz`2L44*N$o0OzJc`KDtGG)Yihf zT}=&N+ykp;QR^v#EwvopdjH(Y=C*a!O$S}fW4puf+NKf{z&GBeChpS^B^fd{d;I9s zS4L)!8iJ2=VRaW%Th~l3hs%Vn3FZ-yJ;GcYE;cjOvHkXiX_l!d#bUChSj?|>Gh2tk zkGbZxw!{JE^(M1*7!(XO7enn(vqh@(eJ^tz+vkJKMVL8U%G}foGZzjrS>Pnz+4kmO zrpXGK4NUc5W2U(f5_^~|w!mRxgCnInku9-!UaG0KZR!Z~GHfeLO3whAYib$uGyMx+dRgcW;R<#i$!eWr0&UYZ~l9Vb17OftV_2|g|AiW`cJ^S+ILO!)f5wt!D>|$jZ0F`pS-7_O#*dEg>{U8)$eJ$o?;d{I?vn>oUOPM9?MlxZcJ7*2 zrx_1JKF(~B@ZOarzdrQwpL74M6}v+}%*uOz?(GWyy^W3~RIa~~cx&g`{NDe3_#|!C zOLf1_y|cDm*M?gY&;8|XD_vsV=92&KWm87nDz4nxYW?+`Z?}FtWzDZ{+e^wGP1ttw z(9UyD+nv9aJ)ykE1Gftm`M>6FJ9h2Iirh`N>g)`OUlDIT@^$5+OM6Sl^?B5J^vNwH zmu{Avco_b)(_=gL+nv>>vuUY8i@PsL4SILolGNZPK}%B8?WbZR&#w9+w$IJJ7n>Y< z+~!zCd)r1ZuQli2@6+m|YiA$sIsRl%$(F|zpWRw@YFgpuHs4%RG&PxmT=7l|t z{JkRP;zs}VKTk=qb1Q#+*7<{JXZKtvuK!D)-zz>Jc9ES&!f#W#NoUOLu ziSPSMAOCXa|A;eP&#`^bnqT7P-h^owmpz&61WshZG?GsxrST_ z*PM$MYesW%;{UI3-7wt;bKN+9E(~*j!4Gb1=NmYt_`=C- zp}u2Ei|0Sct=`|q`@&x~K7-mhlbw5PKMB73`4EW66WrJz3Nyaqd$?6_SRRMQJ;eeS zzT#)Q9$*87YhUvo&~>cf?s`HT zgQSTnS~Y#L;H?c| z%mLnC-}~YNysbvL{4(vcb5Qav?_J|6Q&N1p{$9eqcLaTvDhYqDQMaqIs$$P2P;!*_ z#T1A4sp0@13Cj-gKe&nmhLXd4Q&(}Q&%gBo%VFMAD`k9sP6JdK3e-7*vu1fmsH+=` z4U^~4{2|;jZUuLUJI0;hj&ld_I>H5W{&=#qR*vBiaMS?XjFuYN1Y{BC1U(eGkD=y4!h;J#}e!$N&wT4L# z`3Miptm)(9vbj7Y%!hMtTxwrp=e~f-cGL?FKIDr7-O?hg;R%hx8)3=Id?jc1a_xoG zE)7e5Xy?iw*|}Bl<1y@X+9Q6Rf4$3f>TUK&vw8fHdkVme}ts9x0Hha zWBv;dx9S7kTr5ejeQYvDa`(p|7Szrvv&KA zvn$VjS^g#dc)MMEww%SMvtORHCH}>4H@O}_BnRQq6Mk;J6LwxNGy7slNTtnT`%}JS zofCFbxgxX>QE2w3{CG@uGl*&YGrmAfmIUN32?!oN;}>8TCWAE45O<=9@NEU(4s)yN zf#U!+b)s>QQpvww=Z>8>U|&_q&$eKbdhAW?{DQhC>@{>~v8D7bbl^5WlB{6vXCgUH zF?UI)4dH=_3}M4nF^h_V&6K6n*09`6GMqraWhM&@&_f!RLT)v($SL%KZnOm?xsW%U zLbr6so-VkMZrG#|dYCJjSrz&gSCWOPdg!(Qp3GH1H@iZb!&O4MvNrXz4JB7dAY@RI z;uQDQra~ATpyYKYxL02#eh@E^*BrpJ7lVOcERb24Y?ycWu$;t0R!>TxcXiTHhu@v) zJWBdlq!0?F)yY5DSPfJE>5o{wUk#F4RR~S5kq{`YLE@`O0v28)!M0{@WSNPGdXJsl zZ;r4Y)g-U5P7DIs`!i_)qiT^hZ2YPsNXj4e3ktHl7HNw^H@pGZYR@-m5Ol0fQn99+ zY$@1_zyz|SHW|el)V~N|vXBWLj&Fc0274Op>4S>!m4(E!F&YH%hlS*zw(H*k9Kq&T z!4nGVkTRVP2(j|4;ZKw1M1 zdXlcr%)q9B)ZZ5EMK+p9IkSC;GxIIl1ZsJc{&lVzr2yI9^7dSb3&!g07h!*IAK8j!vgY*KIg z5PnhJs|EvrRTyaKG@N?cZuyaBW>*n8GzcK;a9Djix@HLEYYHTnHJ4KV&se#jn&bj`Tq?qTB_2b z1u`w#V4y{#L|Wv}z02A1T9e^cHOU1HT`Iz9bF_QoFuHWH3CX7K?Xf zkU1(LS!6J4STR3%w=ZdpRH+P$F&@QM{rJ{vmjAS7NkZw;e&kahujIzl2RCeJ^|4|$ z(}ehlB}kIy29?5>{RksT$^E6eOdpPxQ#5@)MU}$n{$!JnTXNvw-06N+p9q;6MYt9r zH5!Zgp_ya@lA)JEk47eYd-Ut>;qBvzg?u88R$`$-IyTF@6n@JjNQS(|_|`x�yKj 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 E0pB~oS^xk5 delta 9764 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 Settings.get.dataCardHardLimit) throw new IllegalArgumentException("data size limit exceeded") + if (!node.tryChangeBuffer(-cost)) throw new Exception("not enough energy") + if (data.length > Settings.get.dataCardSoftLimit) context.pause(Settings.get.dataCardTimeout) + data } // ----------------------------------------------------------------------- //