File Details
More Custom Paintings-1.0.0
- R
- Jun 1, 2026
- 36.55 KB
- 121
- 1.20.1
- Forge
File Name
More Custom Paintings-1.0.0.jar
Supported Versions
- 1.20.1
Curse Maven Snippet
Changelog
All notable changes to this project are documented in this file.
[1.0.0] - 2026-05-30
Added
- Initial release of More Paintings for Minecraft Forge 1.20.1 (Forge 47.2.0).
- New mod identity and metadata:
mod_id:morepaintingsmod_name:More Paintingsauthor:Dandusnehith- New creative tab: More Paintings.
- New item: Custom Painting (
morepaintings:custom_painting). - New placeable wall painting block:
morepaintings:custom_painting. - New block entity to persist custom painting image data.
- Client upload GUI opened by right-clicking the Custom Painting item.
- GUI byline/credit text: "Mod made by Dandusnehith".
- PNG upload workflow with file picker support (
.png). - PNG metadata detection (width/height) shown in GUI.
- Server networking channel:
morepaintings:main. - Upload packet system for syncing image data from client to server.
- Dynamic in-world rendering for uploaded images using runtime textures.
- Item tooltips showing upload state, image name, and detected size.
- Language entries (
en_us.json) for all user-facing labels/messages. - Detailed project README with usage and build instructions.
- Java 17 helper build script:
build_with_jdk17.bat.
Gameplay
- Right-click Custom Painting item to open upload UI.
- Select a PNG, optionally name it, and save to the item.
- Place uploaded painting onto a valid wall face.
- Painting keeps uploaded data when broken and dropped back as item.
- Custom hover name is applied based on uploaded image name.
Validation and Safety
- PNG file size hard limit: 1 MB.
- Upload rejected if:
- No valid player/item context
- Width/height is invalid
- PNG byte payload is empty or exceeds max size
- Placement rejected if:
- Item has no uploaded PNG data
- Target is not a horizontal wall face
- Target position cannot be replaced
- Wall support is invalid
Rendering
- Custom block uses block-entity renderer (
ENTITYBLOCK_ANIMATEDrender shape). - Uploaded PNG is decoded into a dynamic texture at runtime.
- Texture caching added to avoid redundant re-registration.
- Rendered quad scales to image aspect ratio within painting frame bounds.
Data Storage
- Painting data stored in NBT:
ImageBytesImageWidthImageHeightImageName- Data persisted in both item stack NBT and placed block entity NBT.
- Update packet/tag support included for client sync after placement or load.
Build and Packaging
- Successful Gradle build and reobfuscation completed.
- Primary output JAR:
build/libs/morepaintings-1.0.0.jar- Desktop working copy produced:
C:\Users\dandu_jhluw4e\Desktop\MorePaintings-working.jar- Dev client run verified with Forge handshake and mod list including:
minecraftforgemorepaintings
Notes
- Project requires Java 17-compatible toolchain for reliable ForgeGradle behavior.
- Included helper script ensures local builds run with bundled Java 17.

