Request Suggest mods for creation here

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

APEX_gaming

Well-Known Member
Jul 23, 2017
200
60
53
something stat simulates jumping on the block under it, I feel like there are a few mods that require that these days
 

Tokoshoran

New Member
Jul 29, 2019
66
0
0
Given all of the custom worldgen survival modpacks simulating all sorts of things, I'm surprised there's none that simulate surviving in an ocean, similar to the Raft Survival Game, but with Minecraft logic.
  • This would have a heavy dependency on fishing. Change up the lists, add a lot of stuff that requires certain levels of rods to actually catch. This way, a rod the player starts with could catch only a few resources, and they'd have to upgrade from that to start catching better stuff.
  • Bouyant platforms could be made to operate similar to lilipads (places on water surface only), but replace the water block instead of going on top. Actual planks and stuff to build up with would operate like saplings and wash away when hit by water, or the supporting block removed like leaves.
  • Platforms can change appearance similar to how fences will update their visual effect based on adjacent blocks on the X/Y axises, though I'm not sure how hard it would be to code it to only be able to be targetted when it's got an open side the way zombies can target doors.
 
  • Like
Reactions: Lethosos

OniyaMCD

Well-Known Member
Mar 30, 2015
1,438
496
99
Given all of the custom worldgen survival modpacks simulating all sorts of things, I'm surprised there's none that simulate surviving in an ocean, similar to the Raft Survival Game, but with Minecraft logic.
  • This would have a heavy dependency on fishing. Change up the lists, add a lot of stuff that requires certain levels of rods to actually catch. This way, a rod the player starts with could catch only a few resources, and they'd have to upgrade from that to start catching better stuff.
  • Bouyant platforms could be made to operate similar to lilipads (places on water surface only), but replace the water block instead of going on top. Actual planks and stuff to build up with would operate like saplings and wash away when hit by water, or the supporting block removed like leaves.
  • Platforms can change appearance similar to how fences will update their visual effect based on adjacent blocks on the X/Y axises, though I'm not sure how hard it would be to code it to only be able to be targetted when it's got an open side the way zombies can target doors.

I was derping around with a modpack idea that was intended to be surviving on a water-world. I don't have the coding knowledge to modify how blocks and tools behave, but getting those first solid blocks placed isn't really that hard, as long as you start with a swamp biome.

You can place blocks on top of lily pads, then swim underneath and build 'down' into the water surface.
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
If I knew how to code in MC, it would be a case of taking clones of the lily pad, give them new textures (easy) and names, and crafting recipes, and you'll have your floatation foundation pieces to build upon.

Worse case, take the standard lily pad, retexture it and use Minetweaker to rename it and give it a recipe.
 
  • Like
Reactions: OniyaMCD

Lethosos

New Member
Jul 29, 2019
898
-7
0
Hrm.

Not a bad idea, worth looking at the source to see if it's not as hard as I think it is.

Sent from my SM-G930T using Tapatalk
 

APEX_gaming

Well-Known Member
Jul 23, 2017
200
60
53
so anyone remember last year with the april fools snaphot, AKA the trendy update? yeah, could someone please add the VR goggles from that to a mod? maybe with some added functionality, such as creature stats, creature locations around you, maybe some maching that can edit the games terrain based on edits you make with the glasses
 

Bigglesworth

New Member
Jul 29, 2019
1,072
0
1
I need a mod that allows vertical scrolling through a further set of items on the action bar. Currently we can scroll through the action bar horizontally. Now imagine the ease of equipping stuff if vertical scrolling was present. Place all your tools on a verticle on action bar slot 1 and to get the one you want, simply mousewheel as normal to slot 1, then press shit to vertical scroll through your tools. No more bullshit dragging an sorting things in the limited actionbar.

There is a mod with this feature but its only 1.7.10.
 

Nuclear_Creeper0

Well-Known Member
Mar 30, 2017
1,013
224
79
How about a mod that rewrites all the code to work in Python. Python is great for large amounts of data, which modded Minecraft has a lot of.
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
How about a mod that rewrites all the code to work in Python. Python is great for large amounts of data, which modded Minecraft has a lot of.
All the Minecraft code you mean? That wouldn't be great.

Minecraft also has large amounts of computation, which scripted languages don't excel at. Minecraft-in-Python, besides breaking all mods ever, would also not be very performant.
 

Nuclear_Creeper0

Well-Known Member
Mar 30, 2017
1,013
224
79
All the Minecraft code you mean? That wouldn't be great.

Minecraft also has large amounts of computation, which scripted languages don't excel at. Minecraft-in-Python, besides breaking all mods ever, would also not be very performant.
Hmm, good points, but how about Python for background things like loaded chunks which you don't see. They're just there.
 
M

Megouski

Guest
All the Minecraft code you mean? That wouldn't be great.

Minecraft also has large amounts of computation, which scripted languages don't excel at. Minecraft-in-Python, besides breaking all mods ever, would also not be very performant.

This made no sense. EVE has massive amounts of computation and performs well. Don't parrot half truths then jump to assumed conclusions. Chunk loading via java or python would perform almost identical, its mainly up to the efficiency of the programmer not to force the code to go 'the long way around'.

What I think he was getting at is that Minecraft in general would be more digestible to the masses than Java. Java isn't a 'hard' language, but it is not very welcoming and concise to novices while python is clean and easy to understand. Proof of concepts are extremely easy and code rot is a smaller issue. Version changes in minecraft are a nightmare to a lot of people because java can be a clusterfuck when some mj dev wants to move a pixel.
 

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
This made no sense. EVE has massive amounts of computation and performs well. Don't parrot half truths then jump to assumed conclusions. Chunk loading via java or python would perform almost identical, its mainly up to the efficiency of the programmer not to force the code to go 'the long way around'.

What I think he was getting at is that Minecraft in general would be more digestible to the masses than Java. Java isn't a 'hard' language, but it is not very welcoming and concise to novices while python is clean and easy to understand. Proof of concepts are extremely easy and code rot is a smaller issue. Version changes in minecraft are a nightmare to a lot of people because java can be a clusterfuck when some mj dev wants to move a pixel.
Adjust your language friend, and avoid unhelpful accusations. (goodness gracious, now I'm "parroting" someone or something or other.)

If someone's particularly interested, I'm explaining that I can make a Minecraft-rewrite run better on a lower-level language than a higher-level one. Its simple to say "a good developer can make CPU-intensive python programs run well" but its also not the point: That same programmer can still accomplish the same task with, say, Go, and have it perform considerably better.

Your observations regarding other language benefits (comprehensiveness, code rot, maintainability, etc) are all very good and very irrelevant to the actual discussion.

Could I write an application in Python and have it work well? I certainly hope so. But if I were extremely concerned about performance (the original discussion), it wouldn't be high on my list of desirable languages.

Hope this helps.
 

Bigglesworth

New Member
Jul 29, 2019
1,072
0
1
Adjust your language friend, and avoid unhelpful accusations. (goodness gracious, now I'm "parroting" someone or something or other.)

If someone's particularly interested, I'm explaining that I can make a Minecraft-rewrite run better on a lower-level language than a higher-level one. Its simple to say "a good developer can make CPU-intensive python programs run well" but its also not the point: That same programmer can still accomplish the same task with, say, Go, and have it perform considerably better.

Your observations regarding other language benefits (comprehensiveness, code rot, maintainability, etc) are all very good and very irrelevant to the actual discussion.

Could I write an application in Python and have it work well? I certainly hope so. But if I were extremely concerned about performance (the original discussion), it wouldn't be high on my list of desirable languages.

Hope this helps.

I agree and think you don't know what you're talking about. Your angle seems to be the same as a few other that dont really understand much about the big picture in choosing languages for a given solution. They ask questions like "Would Minecraft give me more fps if they re-coded it in C?", they/you suggest that it is not a misguided question is disingenuous at best. Its a question that says a lot about the questioner and requires more than a simple yes/no answer.

I think the topic is very relevant as it has to do with the core existence of mods and suggests for a the very core want of making mods easier to create and maintain between versions. Its a great suggestion!

Simply put, its not about performance; it would be the same. Its about more easily building a codebase that is supportable and compatible. We are very lucky to be in java at the least. We would not have FTB, this website or this community if this were in C (or a much more stunted one) Python would have been even better but either one is great for this sort of modding community and the fact that there is no official API keeps certain doors open.




Hope this helps:
;)


---

I love this misunderstanding. I really do. Mostly because I asked myself this question over, and over, and over some more throughout my time in high school, college, and at my first job as a software engineer. And I have poured countless hours doing research, watching informative and in depth presentations on things like the GIL, etc. etc. etc. just to figure out when/how/if I would run into a major problem because Python was "slow".

So before I start writing out this huge answer (mostly for my own benefit since it has been thoroughly answered by many others already) let's examine the two most common reasons that lead people to (rightfully) claim Python is slow and/or it is not high performance:

  • Interpreted
  • The GIL
The first is fairly straight forward, but at a high level compilers translate higher level languages into lower-level (faster) languages so a compiled language will almost always execute faster than non-compiled ones. There are some exceptions to this rule-of-thumb (such as situations where JIT can be faster than AOT compiling), but they are distraction to this discussion.

The second is a bit more notorious, but Python has something called the Global Interpreter Lock which basically prevents multi-threading by mandating the interpreter only execute a single thread within a single process (instance of the Python interpreter) at a time. How this works can be pretty interesting as well, but also a tangential rabbit hole like compilers.

9/10 times the slower performance of Python does not matter.

Over time I have come to the opinion that there are two main reasons for this.

The first is that what matters is not code execution time, but end-user experience. It doesn't usually matter if a function takes 0.001 seconds or 0.01 to execute. In this vein, for most problems horizontal scaling can be used to solve many bottlenecks that would have been created by Python.

Take for example these benchmarks for popular web frameworks. The best one using Python came in at 650.5K req/s while the best number was 2.2M. Purely from a performance perspective, you are probably wondering why you wouldn't just pick the fastest, but then you look at that #1 spot and realize it is using C. C is a great language (IMO), but Python is a lot more expressive and has a larger eco-system with pre-built tools you could choose to use. So instead of squeezing every last bit of computing power out of your server while sacrificing development time/scope, you could instead get 4 servers for Python for every 1 needing C and save many times that in developer productivity and development time. This is obviously a dramatized and drastically simplified example, but the point being illustrated I think is sound.

Which brings us to the second realization surrounding the GIL and my conclusion that it really isn't that bad.

By not allowing multi-threading (or simultaneous execution within the same process) Python drastically simplifies programming complexity faced by developers. Commonissues and optimizations for multi-threaded processes can just be ignored en-masse by the developer because the Python interpreter will only ever execute a single piece of logic at a time.

This also doesn't usually matter much for the same horizontal reasoning as point 1. Instead of tackling issues with multi-threading, you can choose to tackle issues with multi-processing. Instead of managing multiple threads in a single process you can spin up multiple processes and communicate between them. The difference is subtle, but again, for 9/10 of those cases the performance overhead of multi-processing vs. threading doesn't matter.

In the cases where the performance over head does matter, you can always "glue" a different language into your Python logic. The classic example is how Numpy brings high performance array data structures to Python by dropping into C.

So what's the take away from all of this?

With computational power (# of processor cores, speed of individual cores, $ cost of server hardware, etc.) getting cheaper all the time, most performance issues can usually be solved somewhat by horizontal scaling.

For the things you can't really solve horizontally, you can write something in a different language and "glue it" into your Python logic (play on the saying that Python is a "glue" language).

So if ultimately performance can be augmented/handled, you are left with the main reasons Python is desirable as a language:

  • Simple
  • Productive
  • Readable (and thereby more maintainable)
There is countless more we could talk about with regards to the strengths and weaknesses of Python and we could go into ever more detail, but I think this is a good start at tackling the question of why Python interpreter performance hasn't affected its popularity.
 
  • Like
Reactions: Pyure

Pyure

Not Totally Useless
Aug 14, 2013
8,334
7,191
383
Waterloo, Ontario
@Bigglesworth, when you have a sec, can you revisit your initial section and clarify who you're agreeing with and who you feel doesn't know what they're talking about? Your pronouns are a bit scattered (I suspect you re-attacked your premise halfway through and forgot to go back and clean it up or something).

I *think* you're *not* agreeing with me based on the shizzle you follow with (despite saying you agree).

Also: You're not allowed to work at my firm if you put Simple, Productive and Readable over Performance. Our competitors would smash us and we'd go broke, and all the legible and maintainable code and extra computational power in the world wouldn't resolve that to my satisfaction.

Suspect you're not suuuuper concerned, so just sayin' ;)

That said, believe it or not I think we're on the same page. We do zero projects in C because its an utter pain in the ass. But there are low-ish-level languages that are Simple while also highly performant.

Similarly, I 100% agree that 9/10 performance is irrelevant in most cases. My position is that 9/10 is a straw man unless you're talking about a specific flavor of python I'm not familiar with: Most of what you can do with Python in an application-development sense, I can do faster with a lower-level language, and in a reasonably clean, maintainable and comprehensible fashion. This also precludes "gluing" scenarios, which steps outside of the actual discussion.

Upon closer inspection, I don't think "performant" is actually a real word.

If you particularly need to discuss this further, recommend you start up a new thread and ping me on it. Discussions on the various merits of programming languages is fun (when we don't, ahem, devolve into inappropriate comments such as "don't know what you're talking about" and "parroting" etc). But we've derailed this thread enough :)
 

Golrith

Over-Achiever
Trusted User
Nov 11, 2012
3,834
2,137
248
Here's an idea, why does an entire chunk need to be reprocessed when a block state changes? Surely in most cases, just updating the 3x3x3 area around the target block would be sufficient?
 

GamerwithnoGame

Over-Achiever
Jan 29, 2015
2,808
1,507
224
I have another idea. A mod that allows you to link the Ic2 replicator into an applied energistics system. For instance I want a machine chassis from EnderIO. I can just click Replicate in the Terminal like craft, and it will make it with UU-Matter.
I also think this is a really really nice idea - that would be so handy! Even just something that would allow you to access the interface of the replicator from your AE system, so you still have to scroll through and tell it to craft and stuff, but from your Terminal. Even if it had to have its OWN terminal, that would still make it somewhat helpful.
 

OniyaMCD

Well-Known Member
Mar 30, 2015
1,438
496
99
Here's an idea, why does an entire chunk need to be reprocessed when a block state changes? Surely in most cases, just updating the 3x3x3 area around the target block would be sufficient?

I'd guess because of cascade effects - which admittedly aren't 'most cases', but can occur in any environment: sand/gravel falls, liquid flowing, that sort of thing. Slotting the whole chunk is probably easier on the computation than slotting a 3x3x3 area - and then dealing with any 3x3x3 (possibly overlapping) areas that the previous computation alters. You need to strike a balance between 'how much computation is needed' and 'how small a matrix can I get away with?'
 
  • Like
Reactions: Lethosos

APEX_gaming

Well-Known Member
Jul 23, 2017
200
60
53
could someone make a mod that can see the inventories of other inventories put in it? for example if I just went on a huge mining run and filled up an entire EU2 bag of holding, I could put it into this block that's attached to my RS system via importer, and when I did this the RS system would see all the items in the golden bag and extract them directally, instead of me needing to shift click everything out and put it in manually