--- /dev/null
+# 3.1
+- Item Entities
+- Rewrite Falling Nodes
+- Item Uses (Wear)
+- Support for multible games
+- HP, Entity Groups
+- Mapgen Enhancements
+- Entity API Changes
+- White Chat Preview in the upper left corner
+- Optional Mod Dependencies
+- Particles
+- Rename Pixel Manipulators to Schemplates
+- Improved Main Menu, Main Menu API
+- Builtin Clickable Chat Messages and Hyperlinks
+- Debug info
+
+# 3.x
+- Improved Physics (Bugfixes, Swimming/Diving, Flying, Climbing, Sneaking)
+- Nametags
+- Improved Error Handling
+- Light & Time
+- Custumizable Settings and Key Bindings
+- Liquids
+- Breath
+
+# 4.0
+- Animations (gif ?)
+- Dynamic Map Loading (sqlite3 ?)
+- Minimap
+
+# x.0
+- Multiplayer
+- WebGL Rendering
+- Node.js Backend
dragonblocks.loadedMods.push(modname);
dragonblocks.loadingMods[modname] = false;
}
-dragonblocks.modules = ["ressources", "key_handler", "gui", "mapgen", "world", "item", "node", "tool", "group", "builtin", "map_node", "map", "itemstack", "inventory", "inventory_group", "hudbar", "inventory_container", "creative_inventory", "recipe", "craftfield", "menu", "skin", "entity", "map_interaction", "spawned_entity", "falling_node", "timer", "player", "pixel_manipulator", "chat", "chatcommands", "mainmenu"];
+dragonblocks.modules = ["ressources", "key_handler", "gui", "mapgen", "world", "item", "node", "tool", "group", "builtin", "map_node", "map", "itemstack", "inventory", "inventory_group", "hudbar", "inventory_container", "creative_inventory", "recipe", "craftfield", "menu", "skin", "entity", "map_interaction", "spawned_entity", "item_entity", "falling_node", "timer", "player", "pixel_manipulator", "chat", "chatcommands", "mainmenu"];
dragonblocks.moduleCount = dragonblocks.modules.length;
dragonblocks.loadModule = function(){
if(dragonblocks.modules[0]){
--- /dev/null
+/*
+ * item_entity.js
+ *
+ * Copyright 2020 Elias Fleckenstein <eliasfleckenstein@web.de>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ *
+ *
+ */
+
+dragonblocks.registerEntity({
+ name: "dragonblocks:item_entity",
+ width: 0.4,
+ height: 0.4,
+ gravity: true,
+ verticalSpeed: 2,
+ onpunch: self => {
+ dragonblocks.dropItem(dragonblocks.player.give(self.meta.itemstring), self.x, self.y);
+ self.despawn();
+ },
+ oncollide: self => {
+ self.jump();
+ },
+});
+
+dragonblocks.dropItem = function(itemstack, x, y) {
+ if (! itemstack || ! itemstack.item || ! itemstack.count)
+ return;
+ let entity = dragonblocks.spawnEntity("dragonblocks:item_entity", x, y);
+ entity.meta.itemstring = itemstack.stringify();
+ entity.texture = itemstack.toItem().texture;
+ entity.updateTexture();
+}
if(! mapNode)
return;
let node = mapNode.toNode();
- if(this.dig(x, y)){
- if(node.drops instanceof Function)
- this.tmp.mainInventory.add(node.drops());
- else
- this.tmp.mainInventory.add(node.drops);
- }
+ if (this.dig(x, y))
+ dragonblocks.handleNodeDrop(this.tmp.mainInventory, node, x, y);
document.getElementById("dragonblocks.crack[" + this.id + "]").style.visibility = "hidden";
},
digStop(){
return (Math.sqrt(Math.pow(x - this.x, 2) + Math.pow(y - this.y, 2)) <= this.tool.range) || this.meta.creative;
},
}
+
+dragonblocks.handleNodeDrop = function(inventory, node, x, y) {
+ dragonblocks.dropItem(inventory.add((node.drops instanceof Function) ? node.drops() : node.drops), x + 0.2, y + 0.2);
+}
{
"version": {
"major": 3,
- "minor": 0,
+ "minor": 1,
"patch": 0,
+ "snapshot": 1,
"copyright": "© 2019 - 2020 Elidragon. Please Distribute!"
},
"inventory": {