Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/13/17 in all areas

  1. And that could be helpful for me -- perhaps I don't have to use meta-data in my configs if users can get all the correct state labels.
    1 point
  2. Well, this is how I did it in order to print them out: /** * This will list all mobs, using there unlocalized names, writing * the data to the file lists/mobs.txt. */ public static void listMobs() { Set<ResourceLocation> mobrl = EntityList.getEntityNameList(); ArrayList<String> mobs = new ArrayList<String>(); for(ResourceLocation mob : mobrl) { mobs.add(mob.toString()); } Collections.sort(mobs); BufferedWriter outstream = null; File moblist = new File(listsDir.toString() + File.separator + "entities.txt"); if(moblist.exists()) moblist.delete(); try { outstream = new BufferedWriter(new FileWriter(moblist.toString())); for(String mob : mobs){ outstream.write(mob.toString()); outstream.newLine(); } if(outstream != null) outstream.close(); } catch (IOException e) { e.printStackTrace(); } } /** * This will list all items, using their complete unlocalized names * with mod id's, and write them the file lists/items.txt. This * is useful for writing theme files. */ public static void listItems() { BufferedWriter outstream = null; File itemlist = new File(listsDir.toString() + File.separator + "items.txt"); if(itemlist.exists()) itemlist.delete(); try { outstream = new BufferedWriter(new FileWriter(itemlist.toString())); for(Object item : Item.REGISTRY){ String name = Item.REGISTRY.getNameForObject((Item) item).toString(); if(true) { outstream.write(name); outstream.newLine(); } } if(outstream != null) outstream.close(); } catch (IOException e) { System.err.println("[DLDUNGEONS] Error: Could not write file items.txt"); e.printStackTrace(); } } /** * This will list all blocks using their correct, unlocalized names, complete with * mod id's, and write them to the file lists/blocks.txt. This is useful for editing * theme files. */ public static void listBlocks() { BufferedWriter outstream = null; File itemlist = new File(listsDir.toString() + File.separator + "blocks.txt"); if(itemlist.exists()) itemlist.delete(); try { outstream = new BufferedWriter(new FileWriter(itemlist.toString())); for(Object block : Block.REGISTRY){ String name = Block.REGISTRY.getNameForObject((Block)block).toString(); if(true) {; outstream.write(name); outstream.newLine(); } } if(outstream != null) outstream.close(); } catch (IOException e) { System.err.println("[DLDUNGEONS] Error: Could not write file blocks.txt"); e.printStackTrace(); } } I hope it helps.
    1 point
  3. Yeah for support on here, you need to be on one of the latest 2-3 versions or so, 1.7.10 is ancient and there have been a lot of changes/improvements since then. Your problem is (probably) best described in this error in your log: Caused by: java.lang.RuntimeException: Attempted to load class net/minecraft/client/resources/IResourcePack for invalid side SERVER You're trying to do client stuff on a server. The forge docs have an explanation of sides. http://mcforge.readthedocs.io/en/latest/concepts/sides/ This is important, regardless of the version of minecraft you are using. So, update to a newer (I'd go latest to be honest) version of forge, and if you need further help people here are pretty smart.
    1 point
  4. Recipes and entities are managed by registries, so register them in RegistryEvent.Register<IRecipe> and RegistryEvent.Register<EntityEntry> respectively. Use EntityEntryBuilder to create the EntityEntry. World Generators aren't managed by a registry and there's no dedicated event to register them, so do it in preInit/init/postInit.
    1 point
  5. So you got rid of the global id registration? Regarding the spawn egg, in 1.7.10 you need to create a custom egg (actual class for egg is called monster placer). See my tutorial link below on how to do that. I have an open source mod for 1.7.10 with multiple mobs. Feel free to adapt it to your needs here: https://github.com/jabelar/WildAnimalsPlus-1.7.10. I also have tutorials on custom entities here: http://jabelarminecraft.blogspot.com/p/creating-custom-entities.html
    1 point
  6. Okay, the stack overflow error is a bit weird at that line of code. I looked through your code and one thing that stands out is that you're double-registering your entities. You shouldn't use the global id registration. At the time of 1.7.10 they were transitioning from the global registration to per-mod id, but you should only use the mod id one. Furthermore, you don't need to set it based on the getGlobalUniqueID(0 method, but rather simply start at 0 for your mod and increment for each one. For example, in my mods I had something like this: protected int modEntityID = -1; public void registerModEntity(Class parEntityClass, String parEntityName) { EntityRegistry.registerModEntity(parEntityClass, parEntityName, ++modEntityID, WildAnimals.instance, 80, 3, false); } You'll note that I use a pre-increment ++ on the id so that if this gets called multiple times it will get the next id for next entity registered. I'm not sure but potentially the double-registering of your entities could cause some problem during rendering so maybe clean that up and see if it helps.
    1 point
×
×
  • Create New...

Important Information

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