Jump to content

ThePwnd

Members
  • Posts

    4
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ThePwnd's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Greetings all, For context, I had previously tried creating a fork of Terra Firma Craft, and wanted to modify the code to add more config options to create a more modular version that would be compatible with more mods, specifically world gen mods. However, I've since scrapped that idea because the features I want from TFC are a lot smaller and much, MUCH less invasive... What I'm trying to do: I've created my own version of the Firestarter from TFC. It works, I can load it in game, it has the right texture, I've even successfully coded it to light torches from the Realistic Torches Mod. Now, what I'd like to do is code it so that players must use the Firestarter (or the Flint and Steel, and likely some items from other mods that also start fires, i.e. the matchbox from RTM) to activate a vanilla furnace. In other words, instead of the furnace automatically starting as soon as players fill both slots in the furnace, I want the furnace to remain idle until the player comes along and lights it with a Firestarter or Flint and Steel, etc. How to go about doing it? So, there are a few leads I've found, but I'm wondering how many of these are doable, which is best, or if there's a better way that I don't know about. 1) Look for a Forge event that could detect when a furnace is about to start smelting. I looked through Jabelar's list of events on his blog and didn't see one. Someone on a different thread on the Forge forum mentioned something about a BlockUpdateEvent, but I can't find anything in the source code about that. There is a FuelBurnTimeEvent, but that appears to be deprecated. 2) Create a custom event and register it with the proper event bus. I've followed a few tutorials on creating new events, and I think I get the gist of it, but I'm unclear on the full scope of what custom events can do. Can I create an event that listens for when the vanilla furnace block is about to update? 3) Reflection. I haven't looked into this one very much. It's sort of a new concept to me, but while I was digging around through old threads, someone mentioned that this might be worth looking into. Is it viable? 4) Replace the vanilla furnace with a custom furnace. This is my last resort. I'm understand what this would entail - create a custom class that extends the vanilla furnace block, modify it as I desire, register the custom block, remove the crafting recipe for the vanilla furnace, then use one of the Forge events to listen for when a furnace is placed in the world through generation (like when a blacksmith is created in a village) and generate my custom furnace instead. If all else fails, I'm pretty sure I can get this to work, but this seems like the least efficient method, and I'm not sure it would conform with best practices. As MineMaarten pointed out in his video on events, what if another mod tries to do the same thing? I would greatly appreciate any feedback/pointers that you have, or any uncovered tutorials I might have missed.
  2. Good to know lol. Well thank you so much for your help! I'm able to launch the Minecraft client with TFC's source code finally. This problem was driving me nuts!
  3. Alright, it's decided then, I'm downloading SourceTree. Interestingly, that worked this time. I tried that before and I kept getting a no valid project found error. There are no errors, and all the required libraries are being referenced, but I'm getting 549 java *warnings,* almost all of which are "raw type" errors. I'm thinking that this is something the devs did, and not another mistake I've made on my end in trying to get the project setup... >.>
  4. Greetings all, Couple of first notes - 1) I'm pretty new to this, so if something I say or did seems ignorant, please don't judge too hard, and 2) I'm working in Minecraft 1.7.10 on Windows 7 for this project. Recently I created a fork of Terra Firma Craft's source code with the ultimate intention of making a more modular version so that it will be more compatible with other world gen mods. I downloaded the official GitHub Desktop Client and used it to clone the repository I created into a workspace folder on my computer. However, after doing this, I've run into some problems trying to create a project in Eclipse. I'm pretty sure the first thing I need to do is open a command prompt in my workspace folder and run gradlew setupDecompWorkspace which seems to run without any errors: followed by gradlew eclipse Here's the output: Those commands seem to run without any errors, but no "eclipse" folder gets created. I took a look at the build.gradle file, and it appears that instead of an "eclipse" folder, the "run" folder is created instead to serve the same purpose. So I open Eclipse and try to set my project workspace to the "run" folder, but when I do that, Eclipse doesn't seem to think that any project actually exists. Interestingly, I just noticed that the Git perspective does show the repository, but it doesn't seem to be what I need in order to edit the project. So, the next thing I tried was to create a new forge dev environment (the default one, with the example mod), then copy over the source folders, add them to the build path, and add the extra libraries that TFC needed after reading the build.gradle file. However, and this is where it gets really weird, now the TFC source code is still full of errors. There are a couple visibility issues and a whole bunch of "cannot be assigned" errors. I'm definitely using the master branch, so it seems like there must be a step that I'm missing on my end. It can't be that TFC's source code on their master branch is broken, and this badly, can it? This has had me scratching my head all week. I posted about it over on Minecraft Forum but I haven't gotten any response back about it. If anyone can spot what the problem is, I'd really appreciate it.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.