Jump to content

Cesar Codes

Members
  • Posts

    23
  • Joined

  • Last visited

Everything posted by Cesar Codes

  1. Well, I didn't start my modding yet, but I'll send a qCraft video, showing the feature that I want to make (it's an official mod showcase): It depends on which direction you are looking at the block. For example: I have a block, that, viewing it from south, it's a diamond block, but viewing it from north, it's a dirt block.
  2. Well, I want to replicate the block that changes texture depending on your vision, in the mod qCraft. I'm planning on making a mod called Qubit, or a successor to qCraft, which introduces more sci-fi stuff, and some texture changes. (Please tell me if a mod named Qubit already exists)
  3. Well, I use eclipse for most of my work, but I am planning on changing. Is IDEA reccommended to Minecraft Modding, or I should stay with Eclipse?
  4. Well, this mod is still very small, bot you can already download it through curseforge, in its early alpha stage. Right now, it has: - 12 ingots - 1 block Link to the mod: https://minecraft.curseforge.com/projects/revocraft There's a pre release version, that it really doesn't add anything at all. It was for testing. Here's the video of this version (PR1): https://www.youtube.com/watch?v=8iQh7aUu37w Basic stuff, but I already have plans for something bigger, so, wait until the next update comes! This topic can be edited as this mod updates.
  5. Well, I'm thinking about Java. Java 8 is getting very old and I'm planning on switching it to Java 9/10. Will there be anything different between Java 8 and 9/10? Edit: This topic is saying about that Java 9/10/11 compatibility, but I don't need to worry about this right now. There's a lot of time remaining... Now someone can close this topic.
  6. I didn't find the crafting table .json file. Where is it?
  7. So, I'm making a machine for my mod, but I need to add different textures for the sides, top and bottom. How do I do that? I will take a look at the crafting table's code, but I need people's help. Edit: Nevermind, I already know the multi-texture block model. Noth the only thing I want to know is if I need some extra code to make the multi-texture work.
  8. But how can I hide some items depending of which mod I use?
  9. So, I want to make a library mod, but I don't know how to add the correct items to each mod. One day, I tried using a if() code (using the mod checker class) and my game creashes. I don't know if there is a way of detecting a mod and adding certain items into the game depending of which mod I put into the game (For example, I put botania and it adds some crystals and things, but when I put EnderIO it doesn't add these items, but it adds some capacitors and machines, but if I put the two mods, it will add the botania and enderIO items).
  10. For the interface (the book GUI with buttons), I will need a way to turn an item as a button. How can I do that?
  11. I did some small edits, now, what's wrong with this "bad tutorial"?[ Sorry for saying like that... i was a little nervous
  12. Why? Post your project on GitHub. There I can find any mistakes me, or you made in the code.
  13. Please delete this thread, as I'm making a better tutorial. First of all, you will need to install eclipse, a pixel editor and a external text editor. Pixel editor: paint.net, or any other app. Text editor: I reccomend Notepad++, but there are other programs like VS Code or Brackets (THIS IS FOR OTHER ARCHIVES. THE MAIN EDITOR WILL BE ECLIPSE) Starting up Now, you will need to install the "latest" or "reccomended" forge MDK version, but for myself, I would reccomend the "latest". Extract all of the mdk files to any folder that you want (that is empty), and create a batch file called any nam you want (Or else run cmd, input cd C:/Thedirectory and do the next step). Now, put in your .bat file, or in cmd: gradlew setupDecompWorkspace eclipse --stacktrace The --stacktrace is only if the setup failed on the first try. FOR MAC / LINUX USERS OR PEOPLE WHO DOESN'T WANT TO CREATE A BAT FILE: Here, you can download CJMinecraft's Forge mod builder, that you can create a 1.10.2 forge mod, without using cmd and don't need to download Forge's MDK First open FMB (ForgeModBuilder) and click on "New Project". Put your project name, its project group name (com.yourname.modid), its version and your java version. Select the minecraft version to make a project (1.10.2) and select the latest forge version. Once it created, select the mod's folder, and it will create all the files. You can delete that CREDITS and Forge changelogs.txt because you will not use them. Now, press "Setup Project", select your editor (Eclipse) and wait. After that, open Eclipse, select the directory of the mod and select the folder "eclipse" When Eclipse is open, open MDKExample (You can rename that into anything else). Go to the first folder (src/main/java) and delete the examplemod package. The Mod's Basic Structure Create your package. Its name will be com.yourname.modid (Remember that for EVERY package you need to put in lowercase.) Now, you will create two classes in the same package. The first class will be named: YourModName (Put your mod name here, or simply put MainClass or something like this.) and the second: Reference In the reference, write: public static final String MODID = "modid"; Write this four more times, and put the like this (don't forget the public static final before these strings, too lazy to write again) String MODID = "modid"; String NAME = "The Name of the mod"; String VERSION = "0.1"; String CLIENT_PROXY_CLASS = "yourpackage.modid.proxy.ClientProxy"; //This will be explained later String SERVER_PROXY_CLASS = "yourpackage.modid.proxy.CommonProxy"; //This too Now, into the ModName folder, write this before the public class line: @Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION) Then, you will need to tho the most boring part: the FML events. Write: @EventHandler public static void preInit(FMLPreInitializationEvent event) { } @EventHandler public static void init(FMLInitializationEvent event) { } @EventHandler public static void postInit(FMLPostInitializationEvent event) { } /* The coders' worst nightmare is when a code fails so badly that it needs to be rewritten. -Cesar, 2018 */ Now, you should have the "basic" structure of a mod, but you still need to do some things to get the mod working (you can see if the mod is loaded by looking in the Mods section in the main menu... who doesn't know that?) Create a new package inside the existant package called "util". You will see that the packages are separate and that will be a mess when lots of packages will be created, so click on the arrow that is pointing down (in the package explorer part) and go to the Package Presentation section, and change from flat to hierarchical. Now you will see that the other package (com.yourname.modid.util) is a subpackage (and it was, but in the flat presentation, everything seems to be a separate package.) Now, inside this subpackage, create a class called Utils. Then, write this: private static Logger l; //You need to import the right logger. Make sure to import the org.apache.logging.log4j.Logger interface. public static Logger getLogger() { if(l == null) { l = LogManager.getFormatterLogger(Reference.MODID); } return l; } What is a logger? A logger is a new technique of printing something in the command line (Utils.getLogger().info("themessage"); ) So now, you can log the items that are being loaded, and the events that are happening, and that's what we are going to do now. Go to the main mod class (ModName class) and add in the 3 init events: Utils.getLogger().info("Thing"); /* For preInit: "Pre-init event for the mod starting" or something else (don't forget to put Utils.getLogger().info( before this and after this, ) For init: "Init event for the mod starting" or something else For postInit: "Post-init event for the mod starting" or something else */ The loggers for these things are OPTIONAL. If you want the user of the mod to know what's the Init, preInit and postInit events of your mod, add this code. Create another subpackage (for the main package, not the Util one) called proxy or proxies Now, create two classes: CommonProxy and ClientProxy. Remember the reference? In the ClientProxy, you will put: class ClientProxy extends CommonProxy { //Just add this extends } Now, in CommonProxy, put: public void registerRenders() { } And, in ClientProxy, put: @Override public void registerRenders() { } Done! Finishing up Now, you will go back to the main mod class, and you will add before the @EventProxy'es @Mod.instance(Reference.MODID) public static MainClassName instance; @SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS) public static CommonProxy proxy And into the FMLPreInitializationEvent method, write: proxy.registerRenders(); Done! Now the mod is fully functional and you can continue following my other tutorials. Only to finish, I will teach you how to make the mcmod.info file work. Change the modid field to your mod id, Change the name field to your mod name (can be uppercase), Change the description field to your mod's description (for most cases, add a short description, if you want to publish on Curseforge or any other modding community) Change the version field to your mod's version (like Beta 1.0, because it will appear something like "Beta 1.0 (0.1.0)") Change the mcversion field to your mod's supported versions (going to be teaching how to add other versions support in the next tutorial) Change the url field to your mod's site, or curseforge page Let updateUrl the same thing, I'm going to teach you how to add a update checker in my next tutorials Change the credits field to any person that helped you making a mod (it can be me or some other coder/person, or let that with a triple dot (...) or some other thing.), but you can put anything, if you don't have anyone that you want to give credits. Change the logoFile field to the logo file's location (going to be teaching you how to add a logo file) Let screenshots and dependencies empty. Only if you have some type of compatibility library, then you add its modid to the dependencies field. Here's a screenshot for people who got confused: https://image.prntscr.com/image/5A4siBTYT2eBotysMFpvYA.png If you want to see my current project (chemicraft, how you saw in the image), enter that curseforge link when it's available. Any questions? Ask in the comments! Credits to CJMinecraft and MrCrayfish for teaching me how to mod. That's it for today, bye!
  14. Thank you! Edit: now my problem is that how will I add buttons to the GUI?
  15. So, I want to make a "guide-book", but I can't see where the writable book's class file is. I was trying to find some tutorials, but there isn't any tutorials available. Can someone help me?
  16. How can I animate an block or item? I saw some resource pack tutorials, but do you need the .metadata file in the textures/blocks folder? Or you can add the animation in the .json model file?
  17. Take a look at Champion Ash5357's 1.8 modding tutorials... there may be something useful there.
×
×
  • Create New...

Important Information

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