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. ...Just shy of 15 bits because...reasons Sure. Why not. I'll go with that. That's also the maximum item metadata value, isn't it? (I was trying to remember if 32k or 64k, and 16 bits--two bytes--made more sense)
  2. And backwards, because Minecraft is weird. (Positive X, Positive Z is South East, rather than the expected cartesian planar direction of North East) Anyway, point was "you have to rotate around X, then y" in order to rotate around z.
  3. It's something insanely high, around 65k yeah? (16 bits?)
  4. As I said earlier, Minecraft assumes that all rotation around the Z axis is actually rotation around X plus a 90 degree rotation around Y. i.e. models should not be able to define a different axial tilt East-West than North-South. Instead, rotate around the North-South line, then rotate to face East.
  5. Not sure, honestly. I started by merging the model I was already using (the one that I specified via ModelLoader.setCustomModelResourceLocation) and combined it with an existing vanilla model (in my case, carpet). Oh, and only for one variant, too. Once I had that working I did all the variants. Once that worked I replaced the carpet with a new, custom model.
  6. { "variants": { "half=bottom,variant=false": { "model": "spaceextended:half_vitallium_slab" }, "half=top,variant=false": { "model": "spaceextended:upper_vitallium_slab" } } } Does not contain variant half=bottom,variant=true and half=top,variant=true
  7. Actually yes. https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ModelsCache.java Which I shamelessly stole from someone else (uh...sorry, I've now forgotten who, one sec...) edit: Elix_x. And here's a usage, it must occur in this event https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/ores/client/OreClientEventHandler.java#L18
  8. Oh that. Yeah no. Not possible. Unfortunately. You will need to use an OBJ. Use litterally any program you want to. Sketchup if you have to.
  9. I do not. I haven't used any for 1.10, I've largely used the forums here as my resource. Also as the Forge team recently changed how they want us to register blocks/items/etc. to a new system (what the motivation was to do this in the middle of a major Minecraft version, rather than waiting for 1.11, I don't know). Ignoring that new system for the moment because I literally haven't written a line of code since it was finally mentioned on the forums how to actually use said system (along with a direct insult to my intelligence about how I managed to not hear about said new system via a non-existent tweet on a virtually dead twitter account, or via Facebook which I don't use, or...) so I haven't had time to update and refactor. I call these methods during Pre Init: https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/EasyRegistry.java https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/client/ClientEasyRegistry.java I basically wrote a wrapper around "all of the things" necessary to create fully functional blocks and items while also using the minimal amount of code in my actual mod (i.e. I create a block as normal, then call EasyRegistry.registerBlock or ...WithItem, or ...withCustomItem, or ...withCustomStatemapper, etc) and as the EasyRegistry classes are the Common/Client proxy of a library mod, that distinction (i.e. where does rendering registration go) is handled for me too. I can crate my blocks and items in any order I need to, don't have to worry about things like "I create all my blocks before all my items, shit shit shit my BlockCropWhatever constructor is passed an instance of my seed item before I created any items" (which is so often true for people following this ModBlocks/ModItems encapsulated pattern, and encounter Null Pointers they can't solve because they say "what do you mean my seed is null, I pass it right here." "No you twat, you haven't created your seed yet, that is a null pointer" "Fine, I'll switch it, you'll see the problem doesn't go away!" and they do, because their seed is passed a reference to the crop block, which is now null).
  10. Actually you can rotate on two Axis at the same time with the json format, as long as you specify them together. BUT Minecraft doesn't know WTF a z-rotation is. It can do X, it can do Y, it can do X and Y, but it assumes that the z-axis is just rotation on the X axis plus a 90 degree rotation on the Y axis.
  11. Ugh. Mr Crayfish's tutorials are a common go-to for people and really do some terrible, terrible things. 1) Don't use an enum for your items, that's just stupid. Case in point: you only need one string, it needs to be all lower case, and it does not need the word "item" in it. myItem.setUnlocalizedName(myItem.getRegistryName()); 2) Don't EVER put client-side-only code (register renderers) in a common location 3) Don't use getItemModelMesher(), use ModelLoader.setCustomModelResourceLocation(...)
  12. Nearly every mod you have in your game right now is available for 1.10 (a good chunk are even available for 1.11!) http://www.minecraftforum.net/forums/mapping-and-modding/minecraft-mods/1277996-player-api [CoreXU2 - unable to locate any mod with this name] https://mods.curse.com/mc-mods/minecraft/forge-backpacks https://minecraft.curseforge.com/projects/better-foliage [bibliocraft unavailable for 1.10] [big Trees unavailable for 1.10] https://minecraft.curseforge.com/projects/biomes-o-plenty [Mr Crayfish's Furniture unavailable for 1.10] https://minecraft.curseforge.com/projects/custom-npcs https://minecraft.curseforge.com/projects/decocraft2 https://minecraft.curseforge.com/projects/dynamic-surroundings-unofficial https://minecraft.curseforge.com/projects/extra-utilities https://minecraft.curseforge.com/projects/hide-names [Lanterns unavailable for 1.10] https://minecraft.curseforge.com/projects/mo-creatures https://minecraft.curseforge.com/projects/more-player-models https://minecraft.curseforge.com/projects/pams-harvestcraft http://crushedpixel.eu/pixelcam/ https://minecraft.curseforge.com/projects/sound-filters https://minecraft.curseforge.com/projects/worldedit
  13. Any reason why you have two different versions of CodeChickenLib?
  14. Try this one https://github.com/Draco18s/ReasonableRealism/blob/master/src/main/java/com/draco18s/hardlib/internal/CommonContainer.java#L37
  15. Realistically any mod that does things like vanilla, but not and vanilla has an event, that mod should also fire that event in their custom whatever.
  16. You would need to tell the person who wrote the custom explosions to add the explosion event.
  17. Uh. Why are you registering your entities in your client proxy? That needs to happen on BOTH sides
  18. IMO if at any point you, as a programmer have to "remember that I did X" you did it wrong.
  19. I didn't say it did, I was just clarifying what his goal was. And one way I could see of doing that would be: 1) an item dies 2) it creates a chest 3) it searches the nearby area for other items and also puts them in the chest The alternative would be for each item to search the world for a nearby already existent chest (or you'd get multiple chests).
  20. I think his "goal" is that when a player dies, all the dropped items get collected up and put into a storage container after the 5 minute despawn timer.
  21. You can also pass vararg parameters that can be inserted into the string: e.g. I18n.format("At %1, the temperature is %2°C.", DateTime.Now, 20.4); as it passes the string argument through the Java string formatter, as I understand it. https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html
  22. You never fill META_LOOKUP with any values. You create the array, but it is full of null. Also, get rid of it. enum type objects already have a Enum#values() array getter that returns an ordered array of all its values. public static EnumType byMetadata(int meta) { return EnumType.values()[meta]; }

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.