- check_circle Functions
- 59,542 views, 57 today
- 11,768 downloads, 10 today
652
Painting Table V.2.1.2
Craft custom Players Heads!
A crafting station that allows you to craft player heads with custom textures.
A survival-friendly and multiplayer-friendly way to decorate your world with little blocks!
From MC 1.20 to 1.20.4 (See the Download for older versions or snapshots)
Craft custom Players Heads!
A crafting station that allows you to craft player heads with custom textures.
A survival-friendly and multiplayer-friendly way to decorate your world with little blocks!
From MC 1.20 to 1.20.4 (See the Download for older versions or snapshots)
Disclaimer: Recently, some malicious websites kept trying to steal my content without my consentement, without any credit, not even even sharing the original link. Please, avoid to download my data packs from those websites. They aren't fair and the version of my data packs they share may not be up to date.
I would highly recommend to always download them from planetminecraft.com or kawamood.com.
I would highly recommend to always download them from planetminecraft.com or kawamood.com.
If you are a content creator / content aggregator and want to showcase or share this data pack elsewhere, please be sure to follow the "BY-NC-SA" rules mentioned in the "Licence" section below.
Features
What does the data pack change?
- Mason villagers who reach the master level sell a new item, the Painting Table, for 8 emeralds.
- This same block can be used to craft player heads with custom textures, for Red, Blue and Yellow Dyes, and Blocks of Quartz.
- You can choose what texture to apply by setting its relative value within a Book & Quill.
How to use the Painting Table?
The Painting Table has its own UI that shows its requirements.
In order to craft custom players heads, you'll need to put one Red, Blue and Yellow Dye and one Block of Quartz per head, that will be consumed as soon as you take the output items.
The last item to put is a Book & Quill, that won't be consumed. In this same book, you need to put the value of the desired player's head textures. In order to get those values, you can find many already made players heads on the minecraft-heads.com website. Go to the page of a head you like, scroll to "Other" => "Value", and click the "Copy" button. Paste the result in your writable book in the game (without signing it).
I recommend you to see the tutorial video for better explanations and examples.
Misc. info about the Painting Table:
- You can of course take a placed Painting Table back by breaking it.
- The Painting Table returns input items the player set in it when it closes it. It doesn't behave as a real container that would keep them.
- If a player ends up being killed or disconnected while they was using a Painting Table, the input items are dropped on this same block.
- You can't put an Hopper or an Hopper Minecart below a Painting Table. Adjacent Hoppers and Droppers will also be rotated automatically to not face it.
Commands & Settings
If you want to directly get a Painting Table, you can give it to yourself with the command:
function pk_painting_table:cmd/give
If you don't care about tracking light source, you can chose to turn off the Painting Table's (and other custom blocks from PauseKawa Datapacks) with the following setting, where <value> can be 0 (disabled) or 1 (enabled).
scoreboard player set $custom_block.light_update pk.value <value>
How to install & update?
If you are on a single player world, installing the data pack is enough.
Please refer to the Planet Minecraft tutorial to know how to install a data pack : How to Install Minecraft Data Packs.
If you are on a server, please be sure to enable the command blocks in the server.properties file.
Command blocks are actually used by this data pack to construct commands with dynamic arguments that can't be interpreted within a function.
Update from 1.19.4 (V.2.0.4) to 1.20 (>= V.2.1.0)
1. Since the process to detect custom dimension has been updated, Painting Tables in custom dimensions need to be removed and placed back manually. This may also change again during other version, but this is unfortunately something I can't handle within an automatic process, since it would be risky.
2. if you are on a server, please be sure to enable command blocks in the server.properties file. Command blocks are actually used by this data pack to construct commands with dynamic arguments that can't be interpreted within a function.
3. Mojang updated the display rotation of display entities between both version, meaning some parts of the block may now appear fully white.
In order to fix that, you can use this following command (note that it will only update Painting Tables being in currently loaded area, you may use it several time):
/execute as @e[type=item_display,tag=pk.pa_ta.painting_table.decorative] run data modify entity @s transformation.right_rotation set value [0f,1f,0f,0f]
How to uninstall?
This data pack comes with an automatical uninstalation system.
Please use this command before removing the datapack from your datapacks folder:
/function pk_painting_table:cmd/uninstall
The uninstall process will:
- Remove all Painting Tables you or other players placed in your world, no matter the dimension (even custom ones).
- Remove all relative scores and storage relative to the Painting Table Datapack.
- Remove common scores and storage relative to all PauseKawa data packs, if the uninstall process detects that you don't have any PauseKawa data pack installed anymore.
- Unfortunately it won't remove the relative offer from mason villagers who already have it. This would be to heavy to track and store their position. You can however do it manually, by going close to them and running this command for each of them individually, before running the uninstall process:
/function pk_painting_table:cmd/debug/remove_offers_from_nearest_villager
When it's done, you can safely remove the data pack from your world's datapack folder.
F.A.Q.
Do I need to install a resources pack?
No, this data pack doesn't involve any resources pack.
When I place the block, it stays as a player head and doesn't place the actual Painting Table
Here are the potential reasons:
- Please be sure you are on a version that supports the data pack. This data pack only work with 1.19.4 or greater versions, since this one introduced display entities. It won't work on 1.19.3 or lower version.
- You are using an external tool like Spigot/Forge with a plugin/mod that may change the vanilla command, or the way data pack are executed. I would advice to create a fresh world with only this data pack, then progressively add other tools until it stops to work, you will then find the culprit.
- If it used to work but suddenly stopped to work without anything having been changed on your server/client setup, you can try to run this command:
/advancement revoke @a only pk_painting_table:interactions/placed_painting_table
The texture of the block shows regular player heads, how can I fix that?
As explained in the tutorial video, you need to be connected to the internet the first time you use a Painting Table / you craft a custom Player Head. The textures are indeed loaded and cached on the client-side, from (old or current) players skins that are stored on a Mojang server.
If you accidentally used a content that required to be online the first time you use it, and now see regular players heads instead of the expected texture, you can still go in the \AppData\Roaming\.minecraft\assets\skins folder, then sort the sub-folders by date, and delete some recent folders. Once that is done, if your game was already started, you will need to restart it to update the cached content.
If you accidentally used a content that required to be online the first time you use it, and now see regular players heads instead of the expected texture, you can still go in the \AppData\Roaming\.minecraft\assets\skins folder, then sort the sub-folders by date, and delete some recent folders. Once that is done, if your game was already started, you will need to restart it to update the cached content.
The data pack doesn't work correctly / I can't open the GUI / I broke the block but still see it
You are probably either using plugins/mods that alter vanilla commands (like EssentialsX), or using a/some corrupted datapack(s) that block(s) the process of other datapacks according to the execution order of them.
Try to disable other suspicious datapacks or plugins that may affect the functioning of this one, then enable them back one by one until it stops to work, in order to find the guilty.
In a more general way, I really discourage to mix datapacks with mods or plugins. Datapacks aren't really compatible with externally modified versions of Minecraft, and unfortunately, some of plugins/mods author don't care about datapacks functioning. Paper/Forge itself might prevent some features to work correctly. Datapacks are usually dedicated to pure vanilla versions.
Try to disable other suspicious datapacks or plugins that may affect the functioning of this one, then enable them back one by one until it stops to work, in order to find the guilty.
In a more general way, I really discourage to mix datapacks with mods or plugins. Datapacks aren't really compatible with externally modified versions of Minecraft, and unfortunately, some of plugins/mods author don't care about datapacks functioning. Paper/Forge itself might prevent some features to work correctly. Datapacks are usually dedicated to pure vanilla versions.
Uninstalling process seems unreliable, especially in custom dimensions
Unfortunately, this is due to a bug from Minecraft itself (MC-170764 / MC-143952)
I'm still trying to experiment new ways of implementing cross-dimension processes, but fact is it is impossible to directly and dynamically target custom dimensions from commands. So for the moment, we use forceloaded chunks with a single marker entity in each custom dimension to keep them reachable. Next tests may be based on chain concatenation implementing to work with them.
In order to remove the remaining entities in loaded areas, you can run this command:
I'm still trying to experiment new ways of implementing cross-dimension processes, but fact is it is impossible to directly and dynamically target custom dimensions from commands. So for the moment, we use forceloaded chunks with a single marker entity in each custom dimension to keep them reachable. Next tests may be based on chain concatenation implementing to work with them.
In order to remove the remaining entities in loaded areas, you can run this command:
/kill @e[tag=pk.pa_ta.painting_table.component]
Download (for other versions)
V.2.1.2 For MC 1.20+: Download
(Old version) V.2.0.4 For MC 1.19.4: Download
Report an issue
Please read the F.A.Q. of the section above before asking.
Preferably join our Discord Server and create a thread in the dedicated channel for data pack issues.
Otherwise, you can do it directly in the comments section.
License
This data packs is protected by the CC BY-NC-SA 4.0 license.
You're free to share and adapt this content under the following terms:
- Attribution (BY) — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
- NonCommercial (NC) — You may not use the material for commercial purposes.
- ShareAlike (SA) — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
Credits
Aeldrion - Minecraft-Random RNG system
Compatibility | Minecraft 1.19 |
to | Minecraft 1.20 |
Tags |
18 Update Logs
V.2.1.2 - 04 March 2024 : by KawaMood 03/04/2024 7:31:08 amMar 4th
Fixed bugs:
- In survival mode on latest Minecraft versions, breaking the painting table made it drop an extra barrel.
LOAD MORE LOGS
tools/tracking
5525794
119
painting-table
Create an account or sign in to comment.
Any ideas?
Use /reload in game and checks your logs, see if any data pack have a missing reference in the tick function tag.
If it is the case, disable it and warn its author to fix that asap. As it is breaking all other data packs run after it in the game's arbitrary order.
If you need more help to figure out what happens exactly, you can join the Discord server and open a post in #data-packs-issues, so we would be able to help you more directly.
Hope You See This Comment!
But there is surely a mod that lets you to create custom heads somewhere.
The advantage of having a mod would be the consistence of having an item with its own ID, and the GUI looking better.
But the real constraint would be to depend on Forge/Fabric or any mod loader, and it would require clients to download all this content too, whereas data packs are just server-side.
I'm personally not into modding, I don't know the modloaders API, not even Java, so I wouldn't be able to help you sadly.
I do have some datapacks of my own lying around, but they're either unfinished/not properly tested or make heavy use of datapack APIs added by mods, such as the "data" attribute in crafting recipes that is added by NBT Crafting. By the way, if you start making datapacks specifically for modpacks, NBT Crafting is an absolute game changer. It's basically what it says on the tin, done in the most feature-rich way you can imagine. You can require ingredients to have specific NBT, set specific NBT on the results and even derive the result NBT from the ingredients' NBT with almost no limitations. (Not affilated with the modder behind it, just a huge fan. I really feel like Siphalor did god's work by making that.)
It is now fixed in 2.1.2.