Become a premium member to remove ads

Notice

The Chaotic United Wiki is currently in beta. As such, some pages may display incorrectly, and some content may be inaccurate. If you find any issues, be sure to let us know on the bug tracker!


CUCraftingPlus

 Share


CUCraftingPlus is a plugin that is used in the server to aid in the creation of custom content. It provides a framework for the development of custom items and custom blocks, and is designed to make authoring new content as straightforward as possible.


Background

CUCraftingPlus was originally developed as a means to explore possible options for having truly "custom" blocks. At the time, the only known method for achieving custom blocks relied on applying particles or other effects to existing blocks - such as the Durite Block, which was simply a Purple Glazed Terracotta with particles at the time.

 

Initially, development was centered around the idea of using item frames and placing custom models within them to represent blocks. Later, however, it was discovered that Note Blocks could have custom models/textures applied based on the instrument and note. From that point onward, the plugin's direction was shifted to account for this - however the original Item Frame-based blocks were retained, as they can still be useful at times. For more information on these techniques, see the Custom Block Techniques page.

 

The central goal of the plugin since its inception, however, was always to build a framework that allowed for new content to be easy to create, and easy to maintain. The plugin is designed from the ground up to be expandable, and has become the sole plugin responsible for all of Chaotic United's custom Survival content.

 

In the future, support for custom entities, mobs, and bosses are planned - to allow for similarly easy authoring of basic mobs, as well as custom bosses.

 

Version History

Version History (Click to expand)
Version History
1.0.0

New Blocks:

  • debug
  • Durite Block
  • Durite Ore
  • Ground Branch
  • Ground Rock
  • Advanced Workbench
  • Note Block (Custom Block Reimplementation)

 

New Items:

  • Block Inspector
  • Crafting Hammer

 

Technical Changes:

  • Added support for custom blocks using the Item Frame Technique
  • Added support for custom blocks using the Note Block Technique
1.1.0

New Blocks:

  • Drafting Table
  • Enchanted Wood
  • Magic Altar

 

New Items:

  • Durite Hopper
  • GUI Slot Mask
  • Durite
  • Durite Shovel
  • Durite Hammer
  • Durite Pickaxe
  • Durite Axe
  • Durite Hoe
  • Blazerium Gem
  • Blazerium Dust
  • Blazerium Hammer
  • Blazerium Sword
  • Dildo Hat
  • Santa Hat
  • Sunglasses Hat
  • Test Hat
  • Hydra Staff
  • Reclaymore
  • Teddy's Data
  • Teddy's Donation Money
  • Teddy's Drugs
  • Teddy's Drugs (Old)
  • Teddy's Shoes
  • Air Rune
  • Air Staff
  • Ancient Axe
  • Ancient Boots
  • Ancient Crystal
  • Ancient Hood
  • Ancient Robe Legs
  • Ancient Robe Top
  • Ancient Rune
  • Apprentice Boots
  • Apprentice Hood
  • Apprentice Robe Legs
  • Apprentice Robe Top
  • Blank Rune
  • Enchanted Compass
  • Enchanted Fabric
  • Enchanted Wood
  • Fire Rune
  • Fire Staff
  • Mage Book
  • Mage Staff Bottom
  • Mage Staff Middle
  • Mage Staff Top
  • Mage Staff
  • Dungeon Key
  • Unimbued Staff
  • Water Rune
  • Water Staff
  • Wooden Staff

 

Technical Changes:

  • Added WorldGuard and GriefPrevention integration
  • Note-Block based blocks now have proper break animations
  • Added framework for creating container-based GUIs
  • Migrated UtilityBlocks blocks and GUIs into CUCraftingPlus
  • Custom blocks can now have custom sounds
  • Custom blocks now can specify hardness values
  • Durite extra-break is now handled per-tool and is toggled by shift-clicking while holding the tool
  • Added support for crafting recipes
  • Added support for Anvil recipes
1.2.0

New Items:

  • Durite Essence
  • Blade of Unity

 

Technical Changes:

  • Add support for furnace recipes
  • Crafting recipes now properly support crafting multiple items at once (fixes a bug where doing so would create endless amounts of items)
  • Add /durite command
  • Add tab completion for all commands
  • Add help guide for /cucp command
  • Add recipes for all Durite items
1.2.1
  • Added Blade of Unity to legacy item converter
  • Added ItemStack parameter to all other custom item events
  • Fix custom tools/armor not being damaged properly by default
  • Added 'OnArmorEntityDamage' function for custom items
  • Added 'OnPlayerItemDamage' function for custom items
1.2.2
  • Fixed an issue where GriefPrevention permissions were not being checked properly
1.2.3
  • Fixed a bug where non-custom items could not be smelted at all
1.2.4
  • Added support for Fortune enchantment when breaking certain blocks - Blocks can be configured to drop additional items when fortune is used. This will not have any effect past fortune 3.
1.2.5
  • Allow use of right-clicking when crafting items
  • Fix an issue where, when crafting an item whose result is multiple items, a player clicking the result would only add 1 to the itemstack instead of adding the amount of the result
1.2.6
  • Re-added durite burst power level particles
  • Fixed durite burst power level not resetting if armor is removed
1.2.7

New Blocks:

  • Upgrade Station

 

New Items:

  • Hookshot
  • Longshot
  • Durashot

 

Technical Changes:

  • Added fundamentals for upgrade system - These will mostly serve a similar role as enchantments, since we can't do custom enchants
  • Fixed itemframe-based blocks not being removed properly when breaking them quickly in Creative mode
  • Blocks can now be made interactive without requiring instance information - All CUCustomBlocks can now implement a OnTickPass, OnSecondPass, and OnPlayerInteract method
  • Fixed armor and items becoming damaged in Creative mode
  • Added upgrade items for Hookshot Mob Hooking, Hookshot Item Hooking, and Hookshot Climbing
  • Improve Hookshot entity hook raycast range, so entity hooking should no longer require pixel-perfect accuracy
1.3.0

New Items:

  • Amethyst Shard GUI Placeholder Item

 

Technical Changes:

  • Legacy GUI item material names have been changed, to be prefixed with LEGACY_
  • Enum values for GUI screen names have been renamed to be more consistent (ie, UtilityBlocksMain > UTILITYBLOCKS_MAIN)
  • Upgrade station is mostly finished, needs a few bugfixes but otherwise works
  • UI screens now store screen instance objects rather than plain Inventories - this allows for easier implementation of functionality on a per-player basis
  • Introduced item upgrade system - Item upgrades perform a similar function as Enchantments, but since you can't cleanly introduce custom enchants, we went the route of having a separate upgrade system
  • Hookshot can now hook onto players who have enabled hookshot player grabbing, players can toggle this using commands
  • Removed OnPlayerDamageEntity method from CUCraftingPlusPlayer since it was only used for a single purpose
  • Added IsRealItem function to check if an item is not null or air
  • Added function to check if an integer array contains an item
  • Added function to capitalize the first letter of each word in a String
  • Added command to show resource pack download URL
  • Removed dependency on CUBungeeBukkitBridge
  • Added resource pack update notification that will be displayed to all users with the resource pack disabled from the server after each resource pack update
  • Upgrade Station now requires an Amethyst Shard as an additional item, similar to how Enchantment Tables use Lapis Lazuli
  • Added configuration option to enable or disable the use of spawned ingredients in any custom recipe - including furnace smelting, anvil repair, and crafting
  • Custom crafting recipes can now accept ingredient alternatives (ie, allowing any type of wooden planks)
  • Longshot material name changed from HOOKSHOT_L2 to LONGSHOT
1.3.1
  • Fixed Longshot and Durashot not being repairable in an Anvil
  • Fixed Hookshot upgrades not being applicable to the Longshot and Durashot
  • Increased Hookshot stuck timeout from 10 ticks to 20 ticks (0.5 seconds to 1 seconds)
  • Fixed Upgrade Station not returning Amethyst Shards when closing the UI
  • Fixed Anvil not being able to repair custom items properly
  • Fixed Anvil not having any Experience costs for repairing custom items
  • Fixed Anvil repair material input not being checked if null
1.3.2
  • Fixed a bug where breakable items would not break when their durability reached 0
1.3.3
  • Fixed items being able to be duplicated when shift-clicking with an item in the cursor slot - the event wasn't being cancelled in that case, so items went brrrr thanks to normal vanilla MC trying and failing to handle crafting
  • Fixed cursor being checked at all when shift-clicking items out of a crafting table
  • Fixed enchanted books not being able to be applied to custom items in an Anvil
  • Removed leftover durability debug methods
1.3.4
  • Added Recipe Guide GUI and items
  • Custom items can now specify a recipe guide category and whether or not to display the item in the guide (defaults to true, and all items default to misc category)
  • Fixed undamaged custom tools not being able to have enchanted books applied to them
  • Fixed Upgrade Station not accepting all types of wood planks (only accepting Oak and Jungle)
  • Implemented method to rename a GUI container (should only be used in specific circumstances, as this will reset cursor position)
  • Added enum for common custom font strings
  • Custom crafting recipes now have methods to retrieve a list of sample ingredients (used in Recipe Guide)
  • Add functions to help ensure that items cannot be successfully stolen out of custom GUIs
  • Added /recipes command (opens recipe guide)
1.3.5
  • Fixed an issue where furnace recipes with multiple potential input items were not working (ie, charcoal)
  • Cleaned up and simplified furnace event code (moved some reused code from the 3 events into separate functions)
1.3.6
  • Fixed Efficiency and Unbreaking enchantments not applying correctly
  • Fixed block breaking speed sometimes being slower than desired
  • Reduced custom block placement time limit from 5 ticks to 3 ticks, allowing custom blocks to be placed slightly faster
  • Add various new utility functions for various stuff
1.3.7

New Blocks:

  • Teddy Portal

 

Technical Changes:

  • Added button click sounds to recipe guide
1.3.8

New Blocks:

  • Benefactor Portal
  • Overworld Portal

 

Technical Changes:

  • Reduced volume of custom GUI button clicks
1.3.9
  • Added CoreProtect utility functions, used for logging certain actions with CoreProtect
  • Durite extra-break now honors Silk Touch enchantment status
  • Custom tools now work as expected with Mending enchantment
  • Custom block placement/breaking is now logged with CoreProtect
  • Added an ArrayContains function for Material arrays
  • Added some additional null checks to avoid exceptions
  • Added QuarterSecondTask, which runs 4 times per second (every 5 ticks)
  • Added CoreProtect as a softdepend
  • Custom tools are now repairable in a crafting table
  • Added better checks for custom block placement, allowing for custom blocks to placed as fast as vanilla blocks
  • Added support for custom tools to have Smoker and Blast Furnace recipes (doesn't show in Recipe Guide yet)
  • Fixed issues with block break animation tracking, fixes a rare issue where animations could potentially keep trying to run even when the player stops digging (this could also happen easily when in Creative mode)
  • Durite Ore can now be smelted in a Blast Furnace
  • Fixed an issue where Durite Shovel extra-path would not properly check if all blocks were "pathable", resulting in the shovel being able to turn any block into a path as long as the clicked block was pathable
1.3.10
  • Compile against MC 1.20.4
  • Fix an issue where custom block break sounds were being played asynchronously (used to be fine, apparently is now no longer fine so thats cool)
  • Fixed an issue where changing any block above a custom block would result in the custom block having its note/instrument updated, breaking the custom block's proper behavior
1.3.11
  • Fixed more issues with async sound playback
1.3.12

New Blocks:

  • Experience Storer

 

New Items:

  • Experience Bottle

 

Technical Changes:

  • Block instances can now override OnTickPass(), in order to have additional behavior on a per-tick, per-instance basis
  • Added Air Staff functionality
  • UI screens now have support for using a single inventory per block (ie, containers)
  • Added numeric digit items
  • Added Lit Redstone Lamp UtilityBlock item
  • Custom items can now have an enchantment glint effect added
1.3.13
  • XP Storer now only allows one player to use a given storer at a time
  • Fixed an issue where the XP Storer UI remained open if its block was broken
1.3.14
  • Durite tools and armor can now be repaired using an Anvil
1.3.15
  • Fixed an issue where wood block animations were being improperly reset
1.3.16
  • Added support for placement of directional blocks against custom blocks
  • Improved custom block placement sound playback (better matches vanilla sounds)
  • Noteblock-based custom blocks can now be pushed with pistons (will require noteblock update events to be disabled in papermc config)
  • Fixed an issue where noteblock sounds would not be played when powered by redstone
  • Fixed an issue where shift-clicking a glass bottle into an XP Storer could result in the bottle being deleted if the UI was closed (seems to have mostly been an issue when immediately closing the UI after adding the bottle, without clicking any other slots in the inventory)
1.3.17
  • Added /hookshotplayers command (identical to /cucp hookshotplayers)
  • Added End Gateway technical block (and added to /ub menu)
1.3.18
  • Reimplemented default Note Block behavior where changing the note, playing the note, and updating its instrument via placing/breaking the block beneath it would result in any observers monitoring the block being activated
1.3.19
  • Fixed an issue where Durite Elytra was not properly repaired when enchanted with Mending
1.3.20
  • Added Open Iron Trapdoor utilityblocks item
  • Player hand now swings when placing custom blocks
  • Fixed Comparator utility blocks placing as repeaters
  • Removed a couple unnecessary file imports

 

CUCraftingPlus
Development Started 8/8/2021
Initial Release 1.2.0 (5/15/2022)
Current Release 1.3.20 (4/14/2024)
Author haloman30
Published:

User Feedback

Recommended Comments

There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Minecraft Server

Items
Materials
Armor
Individual Items
Tools
Utility
Cosmetics
Internal
Unused
Unimplemented
Removed
Blocks
Resources
Building
Functional
Unused
Unimplemented
Removed
Mobs
Bosses
Unimplemented
Locations
Dungeons
Technical Resources
Plugins
Other