I have a few projects I’ve worked on or am working on, here’s a few. Be sure to report any bugs or security issues in the appropriate place.
I don’t get to work on them that often due to university.
Most features will have a little progress bar underneath describing an estimation of how “finished” it is.
(Mostly) Finished Projects
PathChecksum
Small and simply Java program to recursively calculate and check checksums.
Still want to work out some minor issues and some other features.
Thinking about restructuring into a proper Java project and maybe a “silent” mode, to suppress printing, so it can be used in scripts or perhaps as a library.
FileSplitter
Another small Java program for splitting big files into many smaller ones. Uses SHA-256 for integrity checks on chunks and the file as a whole.
Currently buggy.
HBM’s Nuclear Tech Mod
A developmental fork of NTM for features I thought were interesting or useful. Takes up a lot of my time and effort. Most of these features are incomplete either because of feature creep and losing interest or no longer believing the feature is useful or maybe Bob just did it himself.
Watz Super-Compressor1: A machine to replace the old “Fusionary Watz Plant”, at least in visual appearance. It would be a machine to compress materials to an extreme degree with electromagnetism and antischrabidium to create either singularities or other exotic materials.
- Although technically added, fully modelled, and fully functional, it has not yet been actually added to the game and probably won’t any time soon (story of my life) because of the approximate tier the machine lies, which is barren of much else, so it’d be sitting there alone, so I’ve been told.
- Reportedly, it was “stolen” in some way by some NTM spin-off, which I haven’t seen for myself, but is discouraging if true.
Nuclear (RTG) blast furnace: Small feature to make simple alloying easier.
Entity mapping rework: Background code that makes registring entities (either block, technical, or NPCs) with Forge easier.
Ammo subitems: Using the subitem system, groups ammo variants together by caliber to the same item, differentiated with meta. Reduces item ID usage and keeps them organized.
Decaying RTGs: A semi-configurable feature that makes RTG pellets decay in game time (i.e. one in-game day is the same as one day for the material). Want to expand it to other, similar features in NTM so RTGs aren’t completely outclassed.
- Is actually part of a remnant of some other weird feature I came up with.
Euphemium capacitor: Implementing a forgotten texture to make the schrabidium transmutator easier to use since it doesn’t need “recharging”.
Desh stamps: Ditto, makes using presses easier since desh stamps are indestructible. If recall, the bullet stamp textures I added myself, but I count them the same.
Spent casings: A system that spawns spent casings from guns, turrets, and anything else.
- In my branch for it, all guns and even NPCs (FBI shotgunners only, revolver agents don’t reload, so no casings to drop, though I could’ve added them to Mask Man…) used it, but in main NTM, only a few guns do currently.
- Am thinking of working on it again to implement better randomized rotations to make the ejections look more realistic and so they all don’t fall exactly the same way.
Guns: Before casings, there were guns themselves. Only a few got added, most are still unfinished and will be mentioned later.
- M2 Browning: A classic for sure. Pumping out .50 BMG at 600 RPM on your hip with a gun that’s supposed to be mounted on tanks. Durability got nerfed, unfortunately.
- Benelli M42: Watch out SPAS-12, a real autoshotgun is here. Bit of a mishmash, actually. A 24-round drum, full automatic, and in the civilian style.
- UAC-B950: Unfortunately underwhelming to most. Of all the things I could’ve ripped off from Project Brutality 3 and get into NTM, it had to be this wimpy pistol…
- Lunatic Sniper Rifle (aka 1915 Hou Yi type Anti-Material Rifle): (Actually added but it’s still here.) Extremely powerful (but expensive) anti-material rifle firing 20x155mm Lunatic sabot rounds at hypersonic speeds. Somehow made it into main NTM. (The casings are supposed to go that fast, if you were wondering.) If you somehow get the reference to this thing I applaud you and want you to stay away from me.
Actinium-227: Technically not added, but I made it (marginally) more useful with its RTG pellet.
Unfinished Projects
There’s a lot here. Yeah, still working on most. Unlinked projects are either private, still conceptual, or simply not easily linked.
HBM’s Nuclear Tech Mod (again)
- Many features are still in-development or otherwise unfinished. Major projects use codenames, until finished. I may have even forgotten about some of them.
- Anaeous Tenrec
- False Walker
Silver ThimphuSee: magazines- Titanium Whitehorse
- Thistle Monaco Completed, but not submitted. This changes the TWR (see ahead) hit-scan method from a ray march-like algorithm to a normal ray trace, which would have performance, simplicity, and versatility benefits, but the ray march still has some advantages of being able to bypass/ignore certain blocks. Not submitted because the TWR wasn’t added and it was just an experiment.
- Other decaying passive energy sources: As mentioned before, things like self-charging batteries, radio-isotope cells, and PT cells to deplete over time. The first would be a bit difficult since each tier crafts into the next tier. The other 2 are simpler and I have an idea on how to do it.
- Heavy actinides: Wanted to add curium, californium, berkelium, and einsteinium for specialist fuels and other applications. All textured but the progression never developed to a satisfactory level.
- Curium: Has a lot of isotopes. Isotopes with odd mass are mixed together to make fuels that fission with slow neutrons. Even massed for fast neutrons.
- Californium: Extremely strong neutron sources and fuels, some other utilities too like IRL.
- Berkelium: More stable and efficient. Was originally to be the first fuel to fission on any neutron type, before that was actually added.
- Einsteinium: Mostly for applications in the cyclotron, such as being able to produce schrabidium directly, which was not much of a thing back then.
- Actinium-227: Ac-227’s main use was originally supposed to be a very strong but stable neutron source.
- Guns: A gun obsession is considered healthy for an American. A necessity, even. The only reason they’re not finished is because I’m not a good modeler, so I need to outsource that and it’s the hardest part of the addition.
- Light Lunatic Rifle3 (LLR, aka 1956 Ānanda type Submachine Gun): A high capacity (60 round), 9mm, Lunarian SMG with a high fire rate in a Vector-pattern. Fully modeled, but reportedly has too many triangles for Minecraft. Can it even be considered a “rifle”?
- (Medium) Lunatic Rifle3 (MLR, aka 1986 Bishamonten type Assault Rifle): A high capacity (45 round), 5.56mm (although in “lore” it’s called 5.56mm Lunatic), Lunarian assault rifle with a good fire rate in an M4 pattern. Has the same overly detailed issue with the LLR.
- Heavy Lunatic Rifle3 (HLR, aka 1944 Chang’e type Light Machine Gun): Super high capacity (don’t remember, really freakin’ high), high damage, energy-based LMG for “elite” Lunar infantry. Has a scattershot alternate fire mode for panic fire or crowd control. It’s actually quite large (and presumably heavy), so one might imagine what an HMG would look like. Also concludes the naming scheme I came up with. Also, I’d want to change the scattershot to the concussive blast, like with those new 12 gauge rounds.
- Lunatic Gun (aka 1978 Rāhula type Standard Issue Sidearm (Revision 2)): Standard issue energy sidearm. Versatile enough, but it’s still a sidearm.
- Lunatic Scattergun (aka 1978 Guan Yu type Scattergun (Revision 1)): Energy “shotgun”, but again, I would want to make it a concussive blast instead of firing a burst of poorly spread projectiles.
- Time Warp Rifle (TWR)4: Extremely powerful and expensive weapon. Hitscanner, no delay time from firing and hitting the target. Very high damage that bypasses protection. Will penetrate multiple targets, only stopping when reaching maximum distance or hitting a solid block.
- UAC-17 SMG: SMG with a very high fire rate and magazine capacity chambered in .45 ACP. Bit of a wack gun, with a huge magazine, on the side of all things, but good for suppressing I suppose.
- UAC-30 DMR: High damage, high accuracy, very good durability, a true workhorse rifle for “terrestrial” forces (being humans). 30 rounds of 7.62x51mm NATO. Simple, but reliable and effective. Was supposed to be the beginning of things blatantly stolen from Project Brutality 3, but we apparently can’t have nice things.
- UAC-30H HDMR: The previous, but better. More expensive and fires the more expensive “high performance” 7.62mm rounds and has the underbarrel 40mm grenade launcher.
- UAC-41 Carbine: Another workhorse rifle, but in 5.56mm, which would give it a higher fire rate and magazine capacity (40 rounds), but with the tradeoff of dealing less damage per round.
- UAC-349 LMG: A very powerful LMG that can also fire “high performance” 7.62mm rounds to devastate whatever it’s pointed at. Micro-missiles are also a delight. People may overlook it in comparison to the minigun, but I like the control, the feel, and the style.
- M60: While seemingly redundant compared to the UAC-349, just like the M2 Browning with .50 BMG, you can’t have 7.62mm without the M60. You can also make it a lower cost option for early game, make it a little cheaper to make and use normal 7.62mm.
- Akrafena: Now blatantly stealing from LiTDOOM this time. It’s an incredibly stylistic demonic supershotgun that
doublestriples as an axe and warclub. To differentiate it from the normal supershotgun, it’d have a little slower reload, lower durability, but have that melee function and the charging from blood to get a special attack or repair itself. Damage would be very good. - Other ones maybe? There’s a few more really cool guns and weapons from PB3 and LiTDOOM that I could include, but if I’ll only consider them if necessary.
- Warp core: An antimatter reactor in style of Star Trek to replace the F. Watz in function (whereas the aforementioned watz supercompressor would replace it in presentation). Possibly interfere with neutrino lenses if active, which could be a way of locating them.
Smoking gun barrels: A logical step, added more guns and added spent gun casings, so why not add a little more flair in the form of smoking barrels? The gun “Atlas” already has this effect, so I’d just have to take the basic concept and make it a configurable system like the aforementioned casings. Change constants to editable variables so each gun can have its own variation or just be properly placed and rendered.(The current gun system is being reworked to be more modular, which means that this idea might be built-in, making this project potentially redundant.)- Modular and universal warhead system: Since there are many types of bombs in-game and possible to add, a concept about a sort universal warhead system was discussed, so one could have a rocket base fire any kind of warhead (conventional HE, nuclear, chemical, schrabidic, etc.) I worked with Vær, who in particular would be working on a custom nuke rework5 in a similar vein, on it and Vær’s custom nuke rework would be included in it. Difficulties were encountered with implementing it, due to a combination of inexperience on all participating parties (myself especially) and the primitive nature of preexisting code related to it.
- Antimatter: Would probably be like the new explosion type, large burst of light and gamma rays, relatively less physical damage.
- Balefire: The same, weird, very weird algorithm, I suppose.
- Biological: Disperses biological agents, perhaps anthrax and/or engineered diseases.
- Chemical: Disperses nerve agents, like sarin and/or VX.
- Conventional/HE: Pretty simple, high explosive warhead.
- Gas: Disperses (comparatively) less toxic gases, like chlorine, phosgene, and mustard gas.
- Gravimetric: Creates a temporary high-gravity field, which inflicts damage with the shear forces and gravity waves.
- Plasma: Tie-in with the warp core, releases warp plasma, which results in a huge amount of heat and radiation to enter the environment.
- Schrabidic: Fölkvangr field baybee.
- (Thermo)nuclear: Uses a custom core to define its characteristics, but is loaded into a warhead for use.
- Quantum: Quantum torpedoes from Star Trek, creates a zero-point energy field, which is a vacuum and is violently filled in via implosion. Apparently also utilizes antimatter, possibly a two-stage warhead like a thermonuclear device.
- Grenade subitems: Similar to the ammo subitem rework (even though this one was actually attempted first), it would condense all of the throwable hand grenades into a single item using meta. Grenade behavior would also be defined by its backing enum and explosion code would be a lambda. Was actually somewhat successful, even some more special grenades worked. The only issue was the renderer didn’t work the way it should’ve, even though I tried registering each subitem.
- Lightbulbs: This one won’t actually be pursued, but I thought it would be noteworthy. I thought about doing something where torches and such would burn out, so you’d have to make and install lightbulbs, starting at primitive incandescent, up to advanced LED, with increasing lifespan, functionality, and power efficiency (not that power would be much of an issue for a literal nuclear tech mod). However, since the Minecraft rendering and the lighting system in particular are so difficult to work with and extremely non-performant, it wouldn’t be worth to pursue, not without writing my own custom shader that would make NTM incompatible with basically everything else, if not with itself, if you know what I mean. It’d be neat to have and we already have a few novelty mechanics that have special lighting renderers, like the mining helmet or Drillgon200’s emergency and shotgun lights, but the performance hit to make an entire room or region lit up using those systems wouldn’t work out so well.
- Actually was done by a fellow named Mellow, a new contributor to NTM. It’s pretty good, so I’m happy with that.
- Better puzzle hasher: Bob showed some concern about the hidden catalogue puzzle being broken via brute force, despite using SHA-256, since the input has certain known constraints and cryptobros having their whole schtick be about generating tons of SHA-256 hashes. He considered upgrading it to SHA-512 and changing the questions, but that probably won’t solve much except stump in-progress brute forces. I thought of a better solution, by making a port of Argon2 in Java and using that instead, though admittedly, a crude, botched, and probably crappy port, but it would at least solve the issue of fast brute forcing somewhat, since it can be made to be very slow and use a lot of resources, and it’d be better than Bob’s even cruder salting function. Though, since Argon2 would likely add a lot of redundant files, a better solution (at the moment at least) is to just change it to use SHA-3 instead of SHA-2, since it is (supposedly) more cryptographically secure and somewhat slower (for whatever that is worth with high-end GPUs and the likes out there).
- Any vague referenced items/features in the I18n language file: Some may have noted that there are mentions of features in the
en_US.lang
language file not seen anywhere else in main NTM or even my fork and the fact that some of them apparently have actually been translated to the other language files likely increased speculation. To quell some debate, yes, most of those are/were in reference to features either cancelled or undeveloped. The reason they’re there at all is because I find it easier to put the registries for localization in first before the feature itself, so I don’t forget about it later. Though, a few do not necessarily represent any feature I had actually planned to pursue, now or in the future. I’ll let you figure the rest out on your own. Magazine system: Lets applicable guns use magazines or speedloaders, which allows for the customization of ammo loadouts and have the ammo storage on person be more compact, also included belts for belt-fed weapons. It was somewhat configurable with a few difficulty settings and whatnot.- PR was rejected because it was buggy and the gun system is being remade anyway.
PathChecksum++
- A C++ version of the aforementioned PathChecksum program, which was in Java.
- Trades off easy multi-platform capability for some performance.
- Uses Crypto++ as its cryptographic library.
- Having trouble trying to implement the progress bars, of all things.
CombineBot6
- A (vaguely) Combine themed Discord bot that started off as just a way to test various functions and turned into its own thing.
- On hold until I finish my other projects, upgrade its API, and set it up on the server (which is what this one was was originally going to be dedicated to, but it also became its own thing).
RBMKSim
- A simulator and builder for the NTM RBMK, with abilities to export and import designs. Should be easier than doing it in-game. Has been in development for a while and most of the code is done, but stuck on trying to render the simulations to the window properly.
- Recently changed it to be a Maven project, which was surprisingly productive.
- May have to change to Gradle though, Maven is a bit too slow for my debugging and I use a funny method for versioning anyway.
- Uses JavaFX because Swing gives me conniptions.
File Sharing
- Some kind of secure file sharing program, using certificates to verify identity to the server and to protect the file (if you want) from anyone that isn’t a recipient.
- Planned to use the X255197 (ECDH with Curve25519) function for both TLS authentication with the server and for key exchange.
MamizouBot IRC Relay
- Since I have the IRC server setup and it’s far less laggy than Discord, I used a relay bot to relay the messages between channels for my own and anyone else’s convenience. I used to use discord-irc but I wished it had more features and it kept crashing because from what looks like an issue with messages in voice channels (which is a relatively recent addition, so it may be due to an outdated Discord API library). So I decided to write one myself. I already have some experience with JDA with CombineBot also uses and the IRC library I opted for, KICL, is somewhat similar, so it wasn’t too hard to get off the ground.
- It basically works enough for now, but it still has some bugs and some commands either aren’t implemented or are broken.
Licensing and Copyright
Unless otherwise stated, all projects are licensed under GPLv3.0 and are effectively copyleft.
Footnotes
- It’s in my little headcanon that “Watz” is the name of some scientist or designer that came up with all the designs and that he just comes up with some really kooky designs that somehow get approved à la F. Watz, so I decided to continue that headcanon with that. Maybe he also has an ego problem if he keeps putting his name on those things.
- The Benilli M4 was to have a normal (standard 8 round tube) and an upgraded version, the latter being a 24 round drum modificcation. Bob (the NTM developer), decided to only add the drum magazine version, since it made the normal version redundant. However, the model was for the normal version and thus does not have a drum, Bob forgot to add it himself. I’ve gotten complaints,
so if anyone, blame him not me. - The “LLR” and “MLR”, based on the Vector and M4 respectively, were done by someone who goes by Frooz, I made the “HLR” myself, based vaguely on the M60 and MG-42. The Benelli M4 model was also done by me, but all the detail work and texture was doen by Frooz. Frooz also did the Luantic Sniper. He used to be my go-to guy for models, but he’s busy now so I can’t ask him anymore.
- Also, Frooz is no longer satisfied with the “MLR” model, so it may be changed at some point if he ever gets the chance.
- The drum part of the model and reworked animations are by Mellow, who seems to be taking over NTM contributions all over…
- This is what actually caused me to begin my fork. It is also a reference that most people won’t get, but I think it has a higher chance to be recognized than the Luantic Sniper. A cookie to whoever gets it, I suppose. I made the model and it was the very first Blender model I ever made, to which I was congratulated by the main developers on its comparative quality and replication of the source for someone who just started (probably the incident that spurred my ego). The awkward proportions are intentional to properly replicate the reference. Frooz offered to redo the model before he got busy with his own things.
- Vær, to my knowledge, still intends on working on this custom nuke reworking, but still hasn’t had much luck with it and is currently involved in structure generation during game world generation, of which I find to be particularly impressive and is currently in-game, so it probably won’t be worked on again soon.
- The custom warhead system may be back alive again, looking forward to that, how ever long it may take.
- The server this website is on was originally to be dedicated solely to hosting that bot, but when other, more important projects came up and it was put on hold, the server became more general purpose.
- Now that I look at it again, that website also uses near plain HTML…