From: Elias Fleckenstein Date: Sun, 26 Apr 2020 09:56:48 +0000 (+0200) Subject: Initial Commit X-Git-Url: https://git.lizzy.rs/?a=commitdiff_plain;h=71b01dad35be534ae180f38be534a5f62e4aea4b;p=mobs.git Initial Commit --- 71b01dad35be534ae180f38be534a5f62e4aea4b 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 0000000..9d95e0b Binary files /dev/null and b/textures/mobs_ball.png differ diff --git a/textures/mobs_bubble.png b/textures/mobs_bubble.png new file mode 100644 index 0000000..edd01fe Binary files /dev/null and b/textures/mobs_bubble.png differ diff --git a/textures/mobs_snowball.png b/textures/mobs_snowball.png new file mode 100644 index 0000000..bf60dd0 Binary files /dev/null and b/textures/mobs_snowball.png differ