- May 25, 2016
- May 24, 2016
-
-
Milan authored
-
- May 23, 2016
-
-
Milan authored
-
- May 22, 2016
- May 21, 2016
-
-
Milan authored
-
- May 20, 2016
-
-
Milan authored
-
- May 19, 2016
- May 18, 2016
-
-
Milan authored
-
- May 16, 2016
-
-
tchncs authored
-
- May 15, 2016
- May 02, 2016
- May 01, 2016
-
-
rubenwardy authored
-
Auke Kok authored
This uses a vmanip to count adjacent tnt nodes and explodes them all at once, using an inverse square law to recalculate the radius. The maximum explosion becomes 125 nodes of tnt yielding a radius of 15 nodes, which does not break my machine and makes it return in under a second. This makes both bigger explosions and less stability issues. The drop code has been simplified and now drops at all times a reasonable amount of drops, never blanketing the area with drops, even at the larges explosion level. Particles are scaled up according to explosion size as well - a bigger explosion will show bigger particles. To scale the tnt:boom particle, we move it to the _effects() function.
-
- Apr 30, 2016
-
-
Auke Kok authored
Introduces an `on_blast(luaobj, damage)` callback that mods can attach to an entity def. The function will get called with the damage that TNT would make. The function should return three values: bool do_damage, bool do_knockback, table drops do_damage allows the mod to tell the TNT code to perform damage on the entity for the mod. The mod code should not do anything with the entity HP. The entity should not be immortal. If false, then the entity will not be damaged by the TNT mod. do_knockback allows the mod to tell the TNT mod to perform an entity knockback effect. If false, no knockback effect is applied to the entity. the drops table is a list of items to drop. It may be nil. E.g. { "wool:red" }. I've documented both on_blast() API methods in game_api.txt. It is a better place than lua_api.txt.
-
Auke Kok authored
Any second explosion near a first TNT explosion will punch all entities found nearby, including item drops. This causes the item pickup code to think the item was picked up, but by a `nil` player, thus removing the item. We query for the immortal entity group, and if the item is in the immortal group, do not punch the item.
-
Foz authored
-
paramat authored
Derived from Casimir's Voxelgarden texture
-
tenplus1 authored
Tweaked the beds.save_spawns() function to compile list then output to file with shortened co-ordinates containing 1 decimal place
-
- Apr 26, 2016
-
-
Auke Kok authored
We reuse the tnt:boom texture for a particle that is added by the on_construct() of tnt:boom, and has a short expiry time (0.2sec). It is 3 nodes larged, centered on the explosion. We then make tnt:boom airlike so it doesn't have a texture, and it's the thing that emits lots of light (we could even make it exist a bit longer). The nice thing about particles is that the client is less susceptible to lag and will always remove them as fast as possible, so this makes the visual more constant and responsive.
-
Auke Kok authored
The effect is similar, and the reduction in particles is a small boost in responsiveness. To compensate, I've lowered the spawner time and expiration length as well.
-
Auke Kok authored
-
Auke Kok authored
This allows TNT to be used for e.g. traps (drop it from the ceiling) or weird tnt effects with other explosions.
-
Auke Kok authored
We add a +/- 0.5 random value to the velocity vector of ejecting nodes. I've spotted a lot of nodes going exactly straight up if blowing up sand above TNT. The extra variation looks less artificial.
-
Auke Kok authored
We apply punch damage to mobs caught in the blast radius, as this code previously only hurt players. We "move" players back 1 node if they're caught in the blast, and slightly up. We can't "eject" players due to missing API code to support that, unfortunately.
-
Auke Kok authored
-
Auke Kok authored
Adds a minor helper function that allows efficient retrieval of several inventories from a node inventory. We use this helper to quickly retrieve the items in chests, vessel shelves, book shelves and furnaces, and return these with the nodes itself to the TNT caller. The TNT caller then performs the entity physics, and we don't need to do anything else. We disable TNT doing anything with bones. We expose a bug in the code that drops the items - metadata was lost entirely. This patch corrects that by properly copying the metadata and creating the drops list inclusive metadata.
-
- Apr 23, 2016
-
-
paramat authored
-