Skip to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Draco18s

Members
  • Joined

  • Last visited

Everything posted by Draco18s

  1. I have a set of recipes, crafting 9 tinydust into 1 largedust. There's about...16-18 of these for different ores (iron, gold, flour, etc). Not all of the ores exist in the game (e.g. copper) so I would prefer not registering those recipes (and their associated advancement). In 1.10 and 1.11 I had this: Which set up an arbitrary ore for all the various things that could be done with it in my mod: smelting, grinding, sifting, packing, crafting... Now with 1.12 and the json recipe system, how would I convert this? Is there an easier way than 16+ recipe json files?
  2. Show more of your code. Where is your registration?
  3. Finally figured it out. Turns out my data value was off by 1...making it want a flower variant that didn't exist (pure coincidence).
  4. You increment a every time you loop through for (int n = 0; n < 33; n++), which happens every time you loop through for(int k = 0; k < 5; k++) which itself happens every time you loop through for(int j = 0; j < 5; j++) Math: 32 * 4 * 4 = 512 Size of array: 255
  5. Can you post the whole class? Don't do things like *insert my class here*, it actually makes it harder to figure out what your problem is.
  6. Ah ha. Few (if any) of the vanilla advancements make use of such logic and their accompanying deserializers are hard to read. Especially when you don't know what to look for. Thanks!
  7. Or maybe I just fucked up typing the [ /spoiler] earlier. But I could have avoided posting this thread if there was a post preview function
  8. When using the [ spoiler] tag manually, it assumes that everything after it is inside the spoiler, including anything after a corresponding [ /spoiler tag]: The following looks like this in the editor: This is outside. This is after and outside.
  9. Trying to debug some of my code, I was in the debugging perspective after hitting a breakpoint which paused the server thread. After about a minute, the dedicated server terminal window closed with the following message: [22:24:14] [Server Watchdog/FATAL]: A single server tick took 60.12 seconds (should be max 0.05) [22:24:14] [Server Watchdog/FATAL]: Considering it to be crashed, server will forcibly shutdown. Great, thanks guys. And the crash log it generated:
  10. Title is not entirely accurate, but the point is that currently the CriteriaTriggers for advancements has a private REGISTRY and register() method. Without being able to register a new ICriterionTrigger object with this registry, modders cannot create new advacement triggers (this includes recipes that award on something other than the vanilla triggers). For example, I want to create a trigger that will test true when any one of a list of items is picked up (the vanilla InventoryChanged trigger does take a list, but it needs all of them to be acquired before being true) as I have six flower blocks that are all basically the "same" block (limits on metadata based state information) and I want to award an advancement if any one of those six blocks is acquired (technically possible with vanilla triggers, if I smashed all six ItemBlocks into a single Item--yuck). I then have another advancement I want to trigger when the player uses bonemeal and grows any one of these flowers (which not possible with vanilla triggers). I have no idea how things need to be set up to fire registry events and so forth, otherwise I would do it myself as a PR. Presumably these would need to be registered before recipes and advancements but after item models. (The ICriterionTrigger classes are also insanely complicated, involving two static child classes and most of the one I have was pieced together from existing vanilla versions).
  11. Any time you change from "burning" to "not burning" or from "not burning" to "burning" you need to call those methods.
  12. You need to tell Minecraft that the status has changed. https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/farming/entities/TileEntityTanner.java#L95-L98 Don't forget to override shouldRefresh (neccessary if you're dealing with metadata states at all) https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/farming/entities/TileEntityTanner.java#L231-L233
  13. Remove the entire "display" tag and use parent:"item/generated" instead.
  14. Use ItemStackHandlers. I don't know how ItemStackHelper.loadAllItems(compound, this.inventory) does its thing, you may be using it wrong.
  15. How would I go about triggering an advancement when the player picks up one item in a list, not all of them? The vanilla conditions seem to be an AND operator and I can't figure out how to specify an OR.
  16. ModelLoader.setCustomModelResourceLocation(...) in the ModelRegistryEvent.
  17. Nope, still not working. I even tried setting the recipe to "xx ","xx ", " ", using # instead of x, removing the data:0 on the result (the output item doesn't have subtypes). No dice. Also didn't appear to be true.
  18. You never write currentBurnTime to the NBT. You also never sync the data with the client. Also, you should be using ItemStackHandler objects (and getCapability()) instead of the IInventory interface.
  19. No errors in the log, recipe not available in-game. gooblob.json, located at resources\assets\oreflowers\recipe: { "type": "minecraft:crafting_shaped", "pattern": [ "xx", "xx" ], "key": { "x": { "item": "oreflowers:oreflowers1", "data": 4 } }, "result": { "item": "oreflowers:sticky_goo", "data": 0 } } (I also tried resources\assets\oreflowers\recipes but another thread indicated that that was wrong). Also, I love how we went to enums for everything, only to then change to JSON files for recipes where raw metadata is used. new ItemStack(oreFlowersDesert1,1,EnumOreFlowerDesert1._4AVELOZ.getOrdinal() Was so good in 1.10 and 1.11.
  20. FMLCommonHandler.instance().getMinecraftServerInstance().getWorld(dimension) Wasn't that hard for me to figure out, I knew that the method took a single integer named "dimension", returned a WorldServer object, and was named getXxxx(...)
  21. IStateMapper is @SideOnly(Side.CLIENT)
  22. The main class does nothing but pass the FML lifecycle events to the proxy. If the proxy is likewise useless, then you aren't registering your entity at all.
  23. Well, your main class is useless, nothing of any worth is there (oh, you need it, it just doesn't help solve your problem what so ever because it forwards everything to the proxy classes which you didn't include). You have a registerGlobalEntityID() method in your entity class, which is both useless (it does nothing) and implies you're doing things Wrong. You should not be using global IDs. Third, /summon Entity303 isn't correct. This implies the default domain, minecraft, which your mod is not a part of. You would need /summon MODID:Entity303 using whatever your MODID actually is. Fourth, this is a forum, not a chat room. 37 minutes is hardly people ignoring your thread. Jesus, wait a bit.

Important Information

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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.