craftmatic autocrafter icon

craftmatic autocrafter -----

Automatic crafting system




This is just a small fix for errors running under Paper 1.21 that prevent the plugin from loading. If you are not using Paper 1.21, you can safely ignore this update.
----------, Jan 3, 2025

If you use plugins to disable or limit access to certain recipes, this release will allow those plugins to also control which recipes can be used with crafting blocks.

To use the new feature, you will need to set
generateCraftItemEvent in config.yml to true (it is false by default). If thus enabled, when a player attempts to set or change the recipe of the crafting block, this plugin will generate a CraftItemEvent. If another plugin cancels this event, the player will not be allowed to set that recipe.

Note, this feature only controls the setting of a recipe. Once set, the crafting block will continue to produce blocks according to that recipe even if another plugin later disables that recipe.
----------, Feb 14, 2023

This release corrects behavior when the player attempts to set a craftmatic recipe unsupported by the plugin.
----------, Feb 5, 2023

The plugin does not currently support crafting more than one item at a time. However, it would allow you to enter ingredients that would craft more than one item in a regular crafting table. Even so, it would still only craft one item. Thus it would allow you to create very expensive recipes without warning. For example, if you placed 64 stone blocks into the crafting block, it would not craft 64 buttons, it would craft only one, but consume 64 stone blocks to do so.

This release prevents this from happening by refusing to accept any recipe that has a stack of items in any crafting slot.
----------, Jan 4, 2023

This update adds a workaround so that craftmatic blocks does not force chunks to remain loaded.

Something changed in recent Paper builds. The plugin has a check to see if a craftmatic block is in a loaded chunk before it attempts to access it so that it does not unintentionally force chunks to reload. Unfortunately, in recent server builds, this check instead of helping to avoid loading a chunk unnecessarily, now causes the chunk to be loaded. So, the check is now causing what it was supposed to prevent.

This update includes a different method of testing the state of a chunk that does not have this problem.
----------, Aug 15, 2022

This release includes a number of small fixes and refinements.

* empty bottles and buckets are once again returned in the output inventory.
* when you remove the activation item from the item frame, it will not longer be modified with the name of the crafted item.
* if you removed the activation item from a crafting block and then placed it back again, you would have to open the crafting block before it would start crafting again. This is no longer necessary as long as you do not change the inventory before placing the crafting block back again.

Bonus feature:
* you can now enable redstone particles on the crafting blocks, but this is disabled by default.
----------, Jul 15, 2022

This update should only affect those who use custom activation items as support for them broke in 3.0.1 and 3.0.2.
----------, Jul 13, 2022

A null pointer exception was occurring if you opened the crafting inventory and then closed it without configuring a recipe.
----------, Jul 12, 2022

This release introduces a new mechanism for discovering recipes that should eliminate the challenges with supporting Minecraft's subset of recipes known as "complex" recipes.

NOTE: The plugin will make every effort to automatically migrate crafting blocks from the old mechanism to the new mechanism. However, if you encounter a problem with a crafting block after upgrading the plugin, if you open the crafting block's inventory and close it again (no change necessary), the crafting block should start working again.

Additional minor changes:
  • now will display a description of the crafted item above the item frame (enabled by default).
  • now can control whether which types of item frames can be used
  • fixed a problem where shift clicking on a crafting block in order to place another block next to it would not work.
  • enables statistics so that the plugin's author can see which types of servers and versions are being used so the author can better support the plugin's users.
----------, Jul 12, 2022

Bumping the version to 2.0.0 because of a significant restructuring to the plugin to better support behaviors tailored to specific Spigot and Paper versions.

* the plugin uses the features of Spigot 1.18.1 when available to more reliably find crafting blocks when chunks are loaded.

* trapped chests once again can be used with crafting blocks without causing the block to drop an item from the recipe.

* changed the order of event processing when the crafting block inventory is being opened so that protection plugins have an opportunity to veto the attempt.

* fixed an NPE

* colorized logging on Spigot.

* can now enable debug and trace logging in the plugin without having to enable debug logging in the server itself.
----------, Feb 25, 2022

Small update to provide more information with the "/craftmatic show" command. The output now includes information on which player created the crafting block and the rate at which items are being created.

Additionally, the output of the command can be limited to one or more players by listing their names with the command. For example, "/craftmatic show BornToCode" would only show the crafting blocks currently loaded that were created by BornToCode.
----------, Nov 23, 2021

* Fixed bug where repeated reload commands would cause crafting blocks to craft items faster and faster.
----------, Nov 7, 2021

* can now optionally limit which containers can be used with crafting blocks.
* can optionally disable the generation of InventoryMoveItem events as each item is crafted. This can improve server performance as other plugins may perform expensive processing on these events. However, disabling these events may interfere with this plugins activity integrating properly with other plugins like LWC, WorldGuard, or GriefPrevention.
----------, Nov 7, 2021

This release adds a configurable delay between when a chunk is loaded and when the plugin searches for Crafting Blocks in that chunk. This is necessary as Spigot/Paper notifies the plugin that the chuck is loaded before all of the entities (including the item frames that identify Crafting Blocks) have been repopulated. The delay is conservative, but an overloaded server may still require a longer delay to be configured.
----------, Oct 31, 2021

This fixes a minor problem with trapped chests as input or output containers.

The plugin is designed to provide special semantics when the input container is a trapped chest. Specifically, it will never pull the last item from an item slot in a trapped chest (see full plugin description for the reason for this behavior). Unfortunately, if you open the trapped chest it will emit a redstone signal that activates the dropper causing it to "drop" one of the items in the stored crafting recipe.

This release disables the default "drop" behavior of the dropper used to construct the crafting block.
----------, Oct 19, 2021

Datapacks do not support crafting items with custom NBT data. However, with this release it will now be possible for a server admin to configure the plugin to allow players to craft a custom activation item. First, the admin would define a custom activation item in the plugin's config. Next the admin would load a recipe datapack describing how the activation item should be crafted (the crafting result for this recipe will be ignored and can be set to anything). Finally, the server admin would add the recipe's name to the plugin's config file (see config.default.yml for further instructions and examples). Then whenever players attempt to craft that recipe, the activation item will appear as the crafting result.
----------, Sep 18, 2021

Wow. It turns out that double chests are a hack in Minecraft and are not really containers at all. This release implements internal shims so that double chests can be used like any other container.

Also in this release:
  • "/craftmatic item mark" added to add plugin-specific NBT to an activation item.
  • The output of "/craftmatic item show" can now be copied to the clipboard.
  • Now always creates a config.default.yml on startup to document the plugin's configuration settings and there default values. The server admin should still maintain their settings in config.yml. config.default.yml is only for documentation and any changes made to it will soon be overwritten.
----------, Sep 14, 2021

The existing command set was primitive in its implementation and in some cases was in conflict with built-in Minecraft commands.

Commands have been re-implemented to all be relative to a single top-level command to avoid conflicts and also support tab completion.
----------, Sep 8, 2021

In some scenarios the crafting block could move items into the output container without removing items from the input container.
----------, Sep 6, 2021

By default, the crafting block is still activated by placing a crafting table in the item frame on the dropper. However, any item placeable in an item frame can now be used. So, you can make it more challenging to create a crafting block by choosing a rare material such as dragon head, diamond block, or playable record. In the simplest use cases, set activationItem in the config to the name of the chosen item's material. See https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.html for material names.

If you wish to strongly control who can create crafting blocks then you will want to choose an activation item that cannot be gathered from the world through normal means. In this case, you can set the activation item to a serialized ItemStack specification in the config.yml. Below is an example that forces the use of a crafting table with a specific descriptive "lore" and plugin-specific NBT data. Use the /craftmatic:give command to get this block in-game. The use of the give command itself is controlled with the craftmatic.command.give permission.

Code (Text):

activationItem:
  ==: org.bukkit.inventory.ItemStack
  v: 2730
  type: CRAFTING_TABLE
  meta:
    ==: ItemMeta
    meta-type: UNSPECIFIC
    lore:
    - '{"extra":[{"text":"craftmatic activator"}],"text":""}'
    PublicBukkitValues:
    craftmatic:valid: 1i
 
----------, Sep 6, 2021

This update makes a small change to the InventoryMoveItem event generated when crafting an item to work better with LWC plugins.

The behaviors of the craftmatic plugin interacts with the behavior of the LWC plugin. Specifically, the craftmatic plugin generates an InventoryMoveItem event when it crafts an item making it appear as if items are moving from the source/input container to the destination/output container. LWC may cancel that event preventing crafting.

During my testing, normal functionality of both plugins occurs if the player tells the LWC plugin that hoppers should be allowed to place blocks into the output container. This is necessary even if the input container is not a hopper. That is, the player should execute "/lwc flag hopperin on" and left-click on the output container and then the crafting block should be able to place crafted items in the output container.
----------, Sep 3, 2021

It was possible to trigger an exception if you break the crafting block and then quickly place another block in the same location.

This release should resolve that scenario.
----------, Sep 2, 2021

Rebuilt for compatibility with 1.16.5. No feature changes.
----------, Sep 2, 2021

Now when cake is crafted the empty buckets are also placed in the output container.
----------, Sep 1, 2021

The crafting block is still constructed from a dropper, but when a player sets the recipe, they now see the traditional workbench recipe selection GUI instead of the dropper's GUI.
----------, Aug 25, 2021

It's time to celebrate. There is now full support for fireworks crafting.
----------, Aug 19, 2021

Fixed bug where crafting block would continue to craft even after the output chest inventory was full.
----------, Aug 16, 2021

Previous versions required that the NBTAPI.jar be installed if the special recipes built into the server with custom code (like rockets, suspicious stew, or applying banners to shields) were to be emulated. This dependency has been removed and special recipe emulation is now enabled by default.
----------, Aug 16, 2021

  • Previously the crafting block would not drop items like a dropper. Now, if there is no container in the block the crafting block is facing, it will drop the crafted item just like a dropper.
  • Now generates a cancelable "move item" event when it moves a crafted item into an output container.
  • Now only trapped chests as input containers trigger the special behavior in which the last item in a slot will not be removed.
  • Workaround for Spigot API bug where dropper objects would return stale/incorrect inventories.
----------, Jul 22, 2021

Just a couple of minor bugs resolved in edge cases.
----------, Jul 20, 2021

The plugin now provides feedback as indicators of successful progress.
  1. Once the craftingtable is placed in the item frame on the dropper, the item frame will become invisible.
  2. If you open the crafting block (dropper), the window will show the name of the recipe if the ingredients match a known recipe, otherwise it will show the name of the plugin.
  3. Every time the crafting block crafts an item, the craftingtable item in the item frame will rotate once.
There is also now a cratmatic:show command that will show where all loaded crafting blocks are located and what their recipes are.
----------, Jul 18, 2021

  • can now apply banners to shields
  • can now dye shulker boxes
----------, Jul 16, 2021

Can now craft tipped arrows.

Also, made the crafting block better at detecting when the containers on either side of it are replaced.
----------, Jul 14, 2021

Now will return the empty bottles along with the honey block in the output container when crafting honey bottles into honey blocks.
----------, Jul 14, 2021

Improved performance
----------, Jul 14, 2021

Resource Information
Author:
----------
Total Downloads: 4,246
First Release: Jul 14, 2021
Last Update: Jan 3, 2025
Category: ---------------
All-Time Rating:
12 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings