Jump to content

ThatBenderGuy

Members
  • Posts

    44
  • Joined

  • Last visited

Converted

  • Gender
    Male
  • Location
    Tucson, AZ
  • Personal Text
    What matter of sorcery be this!?

Recent Profile Visitors

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

ThatBenderGuy's Achievements

Tree Puncher

Tree Puncher (2/8)

2

Reputation

  1. I am making a modpack for 1.15.2 and I am having trouble finding the mod actually crashing during the initializing stage. I am on Forge 31.2.30. I am using Twitch client to make it so as far as I know, it won't provide a debug.log. A latest.log is produced as well as a crash-client text file but no debug log (both attached) The error is thrown from the Apotheosis mod but I contacted the developer through a github issue and he told me it was more than likely not caused by his mod but a mod that loaded before it. Are mods loaded in alphabetical order? If so that may narrow down what mod is causing the issue but regardless since a debug.log is not produced it's all just shots in the dark. latest.log crash-2020-08-09_00.15.45-client.txt
  2. When starting Minecraft I'm getting a "X has failed to load correctly" error with almost any mod I try. I've tried removing the mods causing the issue but then another mod pops up with the same error until I have no mods left. I've done some research on the matter but I can't seem to find any info on this specific error with 1.13.2. I am using the latest version of forge (25.0.219). The error that appears on the main mods is as follows: "net.minecraftforge.forgespi.language.ModFileScanData.getAnnotations()Ljava/util/List;" and optifine is having this warning: "File OptiFine_1.13.2_HD_U_E7.jar is not a valid mod file" Here is my debug.log file https://pastebin.com/raw/h8g8ZPiy
  3. I am trying to make a config for my mod that can be expanded upon. Basically each entry will have 3 things, String of a block's registry, an int, and a boolean. I tried using the annotation system for configs in this manner public final OreReg ironOreReg = new OreReg("minecraft:iron_ore", 1200, true); public final OreReg goldOreReg = new OreReg("minecraft:gold_ore", 1800, true); public final OreReg diamondOreReg = new OreReg("minecraft:diamond_ore", 2000, false); public static class OreReg { public OreReg(final String registry, final int cooldown, final boolean dropNewOre) { this.registry = registry; this.cooldown = cooldown; this.dropNewOre = dropNewOre; } @Config.Comment("The registry for the block") public String registry; @Config.Comment("The Cooldown for the ore") public int cooldown; @Config.Comment("Whether or not to drop the new ore") public boolean dropNewOre; } The config button lights up in game and when I click on it there is nothing in my mod's config menu and a blank cfg file is generated for my mod. I don't have any idea what I'm doing wrong as all I've seen is an example of using the annotation config style. Remember I need it so players can add a new block in this if they want and idk if the setup i'm going for is even right for that. -----------------EDIT---------------- Okay so I somewhat have it figured out (I forgot the static parts) but now my issue is that I can't get them neatly into an array. This is how I have it set up now public static final OreReg IRON_ORE = new OreReg("minecraft:iron_ore", 1200, true); public static final OreReg GOLD_ORE = new OreReg("minecraft:gold_ore", 1800, true); public static final OreReg DIAMOND_ORE = new OreReg("minecraft:diamond_ore", 2000, false); @Config.Comment("Holds all the ores compatible with this mod") public static final OreReg[] ORE_LIST = { IRON_ORE, GOLD_ORE, DIAMOND_ORE }; The problem with this is it creates an entry for all the OreReg objects and the ORE_LIST array but does not put them into that array. ORE_LIST remains empty on the mod config menu. I've tried changing the OreReg variables to private static final but then all that is there is the ORE_LIST array with nothing in it. What am I doing wrong?
  4. Alright thank you guys for all the help. In order to test that the underlying mechanic is working I added a right click event to my item and used this code to see if it gets the smelt result: String rLoc = new ResourceLocation(nbt.getString("parentBlock")).toString(); String itemResultStr = OreRefinerRecipes.getInstance().getSmeltResult(rLoc).getDisplayName(); player.sendMessage(new TextComponentString("Stored Block Smelt Result: " + itemResultStr)); and it returned the proper ingots So assuming all my code elsewhere is correct then my main mechanic to my mod should work. Haven't been this excited to finish a mod in a while. Thank you all so very much
  5. Okay so how does this look. // This is when the item is generated in a different class NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("parentBlock", e.getState().getBlock().getRegistryName().toString()); ore.setTagCompound(nbt); //This is the method to get the smelting result private ItemStack getSmeltResult(String registryName){ Map<ItemStack, ItemStack> smeltingRecipes = FurnaceRecipes.instance().getSmeltingList(); ResourceLocation rLoc = new ResourceLocation(registryName); Block block = ForgeRegistries.BLOCKS.getValue(rLoc); ItemStack ISBlock = new ItemStack(block); for (Entry<ItemStack, ItemStack> entry : smeltingRecipes.entrySet()){ if(entry.getKey() == ISBlock){ return entry.getValue(); } } return new ItemStack(Items.AIR); } // Then what I pass into the above method ItemStack myItem = (ItemStack)this.inventory.get(0); ItemStack result = getSmeltResult(myItem.getTagCompound().getString("parentBlock"));
  6. Alright should I use getRegistryName().toString() ?
  7. Okay several things 1. Does the FurnaceRecipes.instance().getSmeltingList() return recipes from other mods? 2. I still need to get an ItemStack object from the nbt of my item (Which is currently stores strings of the modid and the unlocalized name) I figured out the for-loop to go through the FurnaceRecipes map but I need to convert the string I have on my item's NBT to a ItemStack object and I have no clue how to look up tile names and return with a ItemStack.
  8. I am currently in a conundrum where I need to get a smelting recipe for a block. The simplest way to put it is I have an item and it holds data for a block (modID and unlocalized name) as nbt tags. I want to gather what those blocks will smelt into. I have no clue if this is a job for the CraftingManager or for the OreDictionary. I have googled all over but can't find an answer. I want this to be compatible with other mods as well (at least the ones that have "ore" in their unlocalized name) An example is lets say that my item has the nbt tags for "minecraft" and "tile.iron_ore". With those two pieces of data how can I obtain what a "tile.iron_ore" will smelt into?
  9. So i've tried this: for(CoordEntry entry: connectedNodes) { double bnX = baseNodePos.getX(); double bnY = baseNodePos.getY(); double bnZ = baseNodePos.getZ(); double eX = entry.getPos().getX(); double eY = entry.getPos().getY(); double eZ = entry.getPos().getZ(); List entities = this.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, new AxisAlignedBB(eX, eY, eZ, bnX, bnY, bnZ)); if(player != null) player.addChatMessage(new ChatComponentText("Entities: " + entities.size())); } but my chat message always says "Entities: 0" even when I'm in range. Fyi the baseNode position and entry position are on the same X axis but have different Z coordinates is there a better way to debug the bounding box that this.worldObj.getEntitiesWithinAABB creates? I think that would help solve my problem
  10. getEntitiesWithinAABB has a Class parameter and AxisAlignedBB parameter. I have no idea how to use that
  11. I was wondering if there was a function similar to world.getClosestPlayer. I need it something I can iterate through with a for loop. I'm basically trying to heal any player close but hurt any hostile mob close.
  12. That will be incredibly useful! I'm fine with Forge taking a while to update as that will be amazing to not have to worry about id conflicts.
  13. oh ok, well like I said I found the render file I just have no idea how to implement it. Like is there anything I have to do in my client proxy to make it work? Or does something need to be done in my main mod class?
  14. What do you mean "procedural"? Btw, found the rendering file for the tile entity but I don't see anywhere in the regular tile entity that registers the tile entity renderer How would I, for example, apply the tileEntityBeaconRender to my block? At Least to know how to implement it
  15. I looked all over the tile entity for beacon and I can't seem to find what creates the beam fired from the beacon. Any clues?
×
×
  • Create New...

Important Information

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