From 71b01dad35be534ae180f38be534a5f62e4aea4b Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 26 Apr 2020 11:56:48 +0200 Subject: [PATCH 1/1] Initial Commit --- README | 1 + api.js | 12 +++++++ description.txt | 1 + init.js | 3 ++ mobs.js | 66 +++++++++++++++++++++++++++++++++++++ textures/mobs_ball.png | Bin 0 -> 402 bytes textures/mobs_bubble.png | Bin 0 -> 890 bytes textures/mobs_snowball.png | Bin 0 -> 550 bytes 8 files changed, 83 insertions(+) create mode 100644 README create mode 100644 api.js create mode 100755 description.txt create mode 100755 init.js create mode 100644 mobs.js create mode 100755 textures/mobs_ball.png create mode 100644 textures/mobs_bubble.png create mode 100644 textures/mobs_snowball.png diff --git a/README b/README new file mode 100644 index 0000000..f78ce26 --- /dev/null +++ b/README @@ -0,0 +1 @@ +Mobs Mod for dragonblocks (https://github.com/EliasFleckenstein03/dragonblocksJS) diff --git a/api.js b/api.js new file mode 100644 index 0000000..af2f20b --- /dev/null +++ b/api.js @@ -0,0 +1,12 @@ +mobs.registerSpawner = function(name){ + let entity = dragonblocks.entities[name]; + dragonblocks.registerItem({ + name: name, + desc: entity.desc || entity.name, + texture: entity.texture, + onuse: (x, y) => { + dragonblocks.spawnEntity(name, x + (1 - entity.width) / 2, y + (1 - entity.height) / 2); + return true; + }, + }); +} diff --git a/description.txt b/description.txt new file mode 100755 index 0000000..4563b6a --- /dev/null +++ b/description.txt @@ -0,0 +1 @@ +Adds Mobs [experimental, in developent] diff --git a/init.js b/init.js new file mode 100755 index 0000000..5d90aef --- /dev/null +++ b/init.js @@ -0,0 +1,3 @@ +mobs = {}; +$.getScript(dragonblocks.getModpath("mobs") + "/api.js"); +$.getScript(dragonblocks.getModpath("mobs") + "/mobs.js"); diff --git a/mobs.js b/mobs.js new file mode 100644 index 0000000..b0082cc --- /dev/null +++ b/mobs.js @@ -0,0 +1,66 @@ +dragonblocks.registerEntity({ + name: "mobs:ball", + desc: "Ball", + texture: "mobs_ball.png", + width: 0.75, + height: 0.75, + verticalSpeed: 10, + gravity: true, + onpunch: self => { + self.despawn(); + }, + onclick: self => { + self.jumpOnce(); + }, +}); +mobs.registerSpawner("mobs:ball"); +dragonblocks.registerEntity({ + name: "mobs:bubble", + desc: "Bubble", + texture: "mobs_bubble.png", + width: 0.5, + height: 0.5, + verticalSpeed: 1, + gravity: false, + onpunch: self => { + self.despawn(); + }, + oncollide: self => { + self.despawn(); + }, + oninit: self => { + self.horizontalSpeed = dblib.random(0, 10) / 10; + self.moveUp(); + dblib.random(0, 1) == 0 ? self.moveRight() : self.moveLeft(); + }, + onspawn: self => { + dragonblocks.setTimer("burstTimer", dblib.random(10, 40) / 10, _ => {self.despawn()}, self.meta); + } +}); +mobs.registerSpawner("mobs:bubble"); +dragonblocks.registerEntity({ + name: "mobs:snowball", + desc: "Snowball", + texture: "mobs_snowball.png", + width: 1, + height: 1, + horizontalSpeed: 1, + verticalSpeed: 1, + gravity: true, + oncollide: self => { + self.despawn(); + }, + oninit: self => { + self.horizontalSpeed = (self.x - dragonblocks.player.x) * 5; + self.verticalSpeed = (self.y - dragonblocks.player.y) * 5; + self.x = dragonblocks.player.x; + self.y = dragonblocks.player.y; + self.moveDown(); + self.moveRight(); + }, +}); +mobs.registerSpawner("mobs:snowball"); +dragonblocks.registerRecipe({ + result: "mobs:snowball 4", + recipe: [["core:snow"]], +}); diff --git a/textures/mobs_ball.png b/textures/mobs_ball.png new file mode 100755 index 0000000000000000000000000000000000000000..9d95e0bee572c6bc46262060323c4ca7683aa69b GIT binary patch literal 402 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-mSQK*5Dp-y;YjHK@;M7UB8!2P z5(qQS{nhmpC@5Lt8c`CQpH@mmtT}V`<;yx0|O(!r;B4q zM&sLA2YC+}@VMq)kq%Z6OJv^mVs5DwYt8`$g=G(9@=i?Lz_F3}+3ELJLNceW|NnYf z=8T@4GVhJ|nmb;U&AVCj_f)cgV1wYLl;z(`t$9-j}}Fn zrWy1d;Fy{6`1;kAtd?$)#uDy99wy7a$KJZ=weH&Ss4i8I{KLTf5B?jE@f;JBP>j9! zscW*E|Ct1tM!`jH*(Ehq7n9f@bM#DDwlhrg^{TTq@gTe~DWM4fvNWE9 literal 0 HcmV?d00001 diff --git a/textures/mobs_bubble.png b/textures/mobs_bubble.png new file mode 100644 index 0000000000000000000000000000000000000000..edd01feb5cccc3aae298c36588d1a97e6ea7c7d7 GIT binary patch literal 890 zcmV-=1BLvFP)hF5`#%8ya6$_+PN#(d|@;2j;VMObl z&rL{yvY=IS`ajim)u_Q@L^{&NDMYu`CVXa6Yu!#KX^ZFCyB`80laa{?O z?bsIPg$3Ay+}3Hqwi0`z5^GW%ZK^0fK+a?`HK-$QD#A@7t}p25Zt+W|v_jjq1ly4v zTg_}|N0;Js?L;TL#7QfKOzos7K@BsX_MnK#KqyT|$b)9+)hP%x3Lm1=mSNs*S36jNY%SIZ%WK;-(^gA_q;Lzv@06 z9q&O_HEkTZvT1LX!?HbGr{YH$PtVR>M((}V^Tta*xTy#?iTLv6%h%!3Z^-A*&|Dhi Q8~^|S07*qoM6N<$f=2_Ol>h($ literal 0 HcmV?d00001 diff --git a/textures/mobs_snowball.png b/textures/mobs_snowball.png new file mode 100644 index 0000000000000000000000000000000000000000..bf60dd09817048d5405d970bb6f4e1db680e7fe0 GIT binary patch literal 550 zcmV+>0@?kEP)n;X+o8(jLYCi&kqF;!>L5NGT0kr$&Fg zk3gRsAC$_4Oh?ERvQ#^@s=w7d%`RwNUVs4&fIzpxpIe&`~-(O*7jqQX_A(bc- zubFuC6X(V=iAa-5qp@X^Rt7R1AybHzwFZM>W{qbm!8IM10(#k-l zBV-D(vexV=GMz@CgJ2DG(Hw=rcJh65Z5T#*+pQtf5i*4=HOAlGJ;LnOZl5l6ZKBPr z;!3I9{g|?L!jS0*nL;Xk_j~{F1U9SJ1Be&R oPG#+cA=42qgkczlVVD)<7s|D8--@Zl<^TWy07*qoM6N<$f>x*P2LJ#7 literal 0 HcmV?d00001 -- 2.44.0