Tslat / Advent-Of-Ascension

Advent of Ascension - A Minecraft mod for the daring
Other
203 stars 120 forks source link

Moonstone lamps/torches - A way to finally stop mob spawns #53

Closed AstralScourge closed 4 years ago

AstralScourge commented 5 years ago

EDIT: Apparently there's still a tight block ID limit in 1.12 so maybe dyed ones can be reserved for the 1.13 port.

Note: Moondust was renamed to moonstone in the snapshot. For all intents and purposes "Moondust" and "Moonstone" are interchangeable and the same, but I am using the latter term.

Recipes:

1 Stick + 1 Moonstone = 1 Moonstone Torch 8 Moonstone + 1 Redstone Dust (center) = 1 Moonstone Lamp.

8 Moonstone Torch + 1 Dye (any color) = 8 Dyed Moonstone Torch* 1 Moonstone Lamp + 1 Dye (any color) = 1 Dyed Moonstone Lamp

1 Moonstone Lamp (any color, shapeless) = 1 Decorative Moonstone Lamp (retains color) 1 Moonstone Torch (any color, shapeless) = 1 Decorative Moonstone Torch (retains color)

1 Decorative Moonstone Lamp (any color, shapeless) = 1 Moonstone Lamp (retains color) 1 Decorative Moonstone Torch (any color, shapeless) = 1 Moonstone Torch (retains color)

Decorative ones can also be dyed.

*Example: Green Moonstone Torch, Red Moonstone Lamp, Decorative Orange Moonstone Torch. Note that using Bone Meal will just change them back to normal Moonstone Torches/Lamps.

Decorative versions literally have "Decorative" in the name so that you can tell the difference when using mods that tell you what block you're looking at.

Normal Lamps/Torches have a tooltip stating that they stop mobs from spawning in their area of effect (11x11x11 and 5x5x5 respectively). Decorative ones have a tooltip that says that they are aesthetic only and don't stop mobs from spawning.


Explanation:

Essentially a white-silver recolor of redstone lamps (with a slightly different AoA style lamp texture, should look different from the existing lamps though), but if on it disables all mob spawns* in a 11x11x11 rectangular zone, centered on the block (i.e. x - 5 to x + 5, etc.) (Visibility doesn't matter, I can have it completely surrounded by opaque blocks and it still works in the same range). Can be disabled with a redstone signal, but is on by default. Light level 15. If it is off it emits no light and cannot disable mob spawns. The tooltip for this block mentions all this. If you want to make a large base mob free, you may have to use several, but it's more efficient than glassing. Works in all dimensions, so if I want to use it to make Creeponia slightly livable I can.

A Moonstone Torch is similar - a torch with a white glow/ However, it only disables mob spawns in a 5x5x5 zone, again centered on the torch (i.e. x - 2 to x + 2, etc.) It also has the properties of normal torches: Light level 14, non-solid, sticks to sides of walls, etc. Again, visibility doesn't matter and I can have it surrounded completely by opaque blocks and still get the full effect.

11^3/5^3 = 10.648, so you still need 10 torches to equal one lamp (you can only make 8 with the materials for one lamp), and for certain areas like large rooms or outdoor areas, a lamp would be a better fit. And some people like the lamp aesthetic better and will find it worth it.

However, torches are...torches. They have their own aesthetic that people may prefer, and are non-solid like normal torches. And they are more economical in situations like thick walls where a lot of the blocks in the radius are occupied anyway.

They can be dyed, in case white just isn't your color.

Finally, you can craft a lamp or torch by itself in order to make a Decorative version. This is in case you like the aesthetic but don't want to stop mob spawns for some reason. Decorative versions can also be dyed.

Artificial spawns: *It stops all natural spawns by default, leaving artificial spawns like spawners or where an entity summons another one into the world. I personally think spawners should be disable-able, since vanilla torches disable vanilla spawners. (However if that's not possible or you think they shouldn't then have it your way.) Spawn eggs, boss spawns, minion-summoning armor/weapons/items, any instances of an entity summoning another entity (stuff like Trickster cloning, shade -> shadow "transformation", amphibytes spawning corallus, dwellers, fades, etc.) should bypass this entirely though, since they are artificial and not naturally spawned.

Potential crafting recipe issue: The only issue I see here is that maybe there's some sort of performance limitation to adding 64 different dye recipes (16 for normal torch, 16 for normal lamp, 16 for decorative torch, 16 for decorative lamp) plus another 64 conversion recipes (16 to convert normal torches to decorative torches, etc.) But to my knowledge adding recipes is just one line of code/recipe and is just a slightly bit tedious and has nothing on creating statues.

If it's really a big issue you can throw out the dye recipes, or make it so that you can only dye normal ones, or only convert normal ones to decorative ones (no two-way conversion).

Reasoning: This has been going around since the mod's conception, but it centers around one important fact. I should not have to glass or slab bases in order to live in them. It's just time-consuming and is aesthetically limiting, which sucks in a game where building whatever you want is the main appeal point, and most of the reason it's so popular in the first place. Not only do I need to do this to live in mod dimensions, I need to do it to avoid mobs in the overworld too (outside of plains, where they still spawn on grass at any light level so I can't use grass as flooring if I want to). I can't build a desert house without mobs in it, for example, nor can I build an underground bunker, or an ice house...I'm limited to plains. This limits the building creativity survival players can use, unless they want to see mobs in their house all the time, some of which can be very annoying (sphinxes/sand golems, chompers/hags, and pretty much every underground mob in the mod come to mind).

Not to mention, glass or slabbing isn't even really an intended counter to mobs spawning - it's just a side effect of mobs not spawning there in general, which makes it even more awkward that we have to use this. And half slabs are really annoying to place blocks on anyways. Try putting furniture on your half-slabbed floor and it floats. Ugly!

Extra Utilities' magnum torch/chandelier has been considered a solution but I should not have to rely on another mod for this, especially given that the magnum torch is REALLY far reaching but also kind of hard to get.

This also fixes the lack of use for Moonstones, making them more essential. The reason is that Moonstones have only two uses right now: -Tablets. These are up for a revamp, and I never really used them anyway. -The troll idol. Only one moonstone is necessary for one troll idol, and the other ingredients are harder to get especially if you don't have a desert/savanna nearby. If you really try, in one night with good gear you can get enough moonstones to make several idols. Besides those, moonstones are useless. That's where this comes in.

Finally, it also gives more of a use for the full moon event. Otherwise, once you've killed a terrestrial or two there's no reason to stay out for it anymore, because of the aforementioned reasons (unless you need hot shots). But if you have a large base project you have to continually go out.

And because the full moon event is on a set schedule you don't have to ever worry about RNG giving you bloodhunt five times in a row but no full moon for (insert X large number here) consecutive nights for some reason.

Finally, while they are useful and relatively easy to obtain they are not nearly as "spammable" as normal torches. As such when you are mining you will still be making tunnels that can spawn mobs, and it's impractical to fill an undeveloped cave with them if you don't plan on living there. So if you are exploring or caving you will not practically be able to spam these. It's more for living spaces then it is for liberal usage.

This would be a big step towards making dimensions "livable" - something I've seen as another problem with this mod - as you can place them in other dimensions and begin to make bases there without worrying about a cherry blaster spawning inside or something.


I don't like the lamp/torch look! How do I stop mobs from spawning now?

Surround it with opaque blocks that you do like. Hide it in the wall or something. Just make sure you know where you put it. Plus nobody complained about spamming torches in vanilla to stop vanilla mob spawns, so...

EatingSilencer commented 5 years ago

The one potential problem with adding dyed variants is the block id limit - in 1.12 its still tight. If this gets added, the dyed variants would have to wait until if the mod moves to 1.13.

But to my knowledge adding recipes is just one line of code/recipe and is just a slightly bit tedious and has nothing on creating statues.

In 1.12, each recipe is its own separate file, so it could potentially be tedious to add (or scimi could make/write a program that auto-generates them).

Otherwise, this sounds plausible.

AstralScourge commented 5 years ago

In that case then the dyed variants just waiting until the mod moves is fine, hence why I mentioned it could be a problem. Removing the dyed ones, or waiting to implement them, would reduce it to 6 recipes (make, convert to decorative, convert to normal for both torches and lamps) and kill the block id issues.

I guess it changed because in 1.7.10 I'm pretty sure recipes could all be added from one file (never looked at any sort of code relating to 1.12 lol) but otherwise it'd just be slightly tedious and not a functional issue, pretty sure scimi could auto-generate them. 128 different recipes may just be my completionist side taking over, or the fact that it makes no sense to be able to dye the normal ones but not dye the decorative ones.

papabean commented 5 years ago

I like the idea of making moonstone a consistently useful resource that is usable for making homestead/safezones.

Support.

Tslat commented 4 years ago

No longer needed with torches working instead :)