SopCustomBlocks
SopCustomBlocks allows you to create and place custom blocks using resource pack item models and visual entities powered by SopLib.
Perfect for RPG servers, survival enhancements, builders, custom maps, generators, decorations, and advanced gameplay systems.
The plugin supports persistent block saving, configurable behavior, scaling, rotation, placement offsets, API integration, and custom events for developers.
✨ Features
✔ Create unlimited custom blocks using item models
✔ Persistent block storage after server restart
✔ Supports scaling, offsets, and rotation
✔ Optional player-based rotation system
✔ Explosion support
✔ Break permissions & admin-only blocks
✔ API for developers
✔ Custom block lifecycle events
✔ Lightweight and easy to configure
✔ Compatible with Spigot & Paper 1.16.5+
Requirements
Commands
/sopcustomblocks
/sopcustomblocks give <player> <id> [amount]
/sopcustomblocks reload
Permission
sopcustomblocks.admin
Developer API
SopCustomBlocks includes a public API for plugin integrations.
Example:
Available features:
Available events:
Perfect For
Do NOT place blocks manually using Bukkit block type changes.
Always use the provided API methods to ensure proper visual handling and persistence.
Installation
You can test this plugin on the official server:
sop.li (1.12.2+)
Discord
Need help or want to contact us?
https://discord.gg/sopli
Support & Feedback
If you have questions, suggestions, or found an issue, please use:
SopCustomBlocks allows you to create and place custom blocks using resource pack item models and visual entities powered by SopLib.
Perfect for RPG servers, survival enhancements, builders, custom maps, generators, decorations, and advanced gameplay systems.
The plugin supports persistent block saving, configurable behavior, scaling, rotation, placement offsets, API integration, and custom events for developers.
✨ Features
✔ Create unlimited custom blocks using item models
✔ Persistent block storage after server restart
✔ Supports scaling, offsets, and rotation
✔ Optional player-based rotation system
✔ Explosion support
✔ Break permissions & admin-only blocks
✔ API for developers
✔ Custom block lifecycle events
✔ Lightweight and easy to configure
✔ Compatible with Spigot & Paper 1.16.5+
Requirements
- Spigot/Paper 1.16.5+
- SopLib
- PlaceholderAPI
- NBTAPI
Code (Text):
'1':
material: STONE
model: 1
replacement-block: ANDESITE
name: "Custom Block #1"
lore:
- "This is a"
- "custom block"
'2':
material: STONE
model: 2
name: "Custom Block name"
lore:
- "Custom Block lore"
replacement-block: BARRIER
break-only-admin: true
break-by-hit: true
can-exploded: true
use-player-rotation: true
rotation-round: 45
scale-x: 5.0
scale-y: 5.0
scale-z: 5.0
pos-x: 0.5
pos-y: 2.5
pos-z: 0.5
material: STONE
model: 1
replacement-block: ANDESITE
name: "Custom Block #1"
lore:
- "This is a"
- "custom block"
'2':
material: STONE
model: 2
name: "Custom Block name"
lore:
- "Custom Block lore"
replacement-block: BARRIER
break-only-admin: true
break-by-hit: true
can-exploded: true
use-player-rotation: true
rotation-round: 45
scale-x: 5.0
scale-y: 5.0
scale-z: 5.0
pos-x: 0.5
pos-y: 2.5
pos-z: 0.5
/sopcustomblocks
/sopcustomblocks give <player> <id> [amount]
/sopcustomblocks reload
Permission
sopcustomblocks.admin
Developer API
SopCustomBlocks includes a public API for plugin integrations.
Example:
Code (Text):
if (SopCustomBlocksAPI.isAvailable()) {
SopCustomBlocksAPI.placeBlock("core_1", location);
String blockId = SopCustomBlocksAPI.getBlockId(location);
}
SopCustomBlocksAPI.placeBlock("core_1", location);
String blockId = SopCustomBlocksAPI.getBlockId(location);
}
- Place custom blocks
- Remove custom blocks
- Detect custom blocks
- Get block items
- Read custom block IDs
- Player rotation support
- Event integration
Available events:
- SopCustomBlockPlaceEvent
- SopCustomBlockBreakEvent
- SopCustomBlockInteractEvent
Code (Text):
@EventHandler
public void onCustomBlockBreak(SopCustomBlockBreakEvent event) {
if ("generator".equalsIgnoreCase(event.getCustomBlock().getId())) {
event.setCancelled(true);
}
}
public void onCustomBlockBreak(SopCustomBlockBreakEvent event) {
if ("generator".equalsIgnoreCase(event.getCustomBlock().getId())) {
event.setCancelled(true);
}
}
- RPG servers
- Survival servers
- Custom furniture
- Decorative systems
- Generators
- Mining systems
- Custom gameplay mechanics
- Adventure maps
Do NOT place blocks manually using Bukkit block type changes.
Always use the provided API methods to ensure proper visual handling and persistence.
Installation
- Install SopLib
- Install PlaceholderAPI
- Install NBTAPI
- Place SopCustomBlocks into your plugins folder
- Restart server
- Configure your custom blocks
- Enjoy
You can test this plugin on the official server:
sop.li (1.12.2+)
Discord
Need help or want to contact us?
https://discord.gg/sopli
Support & Feedback
If you have questions, suggestions, or found an issue, please use:
- GitHub Issues
- Spigot Discussions
- Discord server
Quick facts
- Edition: Minecraft Java
- File type: .jar
- Minecraft versions listed: 1.16, 1.21
- How to install: Install the matching mod loader (Forge, Fabric or NeoForge) for your Minecraft version. → Download the .jar. → Put it in the .minecraft/mods folder and launch that loader profile.
- Where to get it: Opens on Spigot — not every file is mirrored on our own servers.
Install steps are the general flow for this file type — How to install Minecraft Java mods & modpacks walks through it step by step.
SopCustomBlocks is a free Minecraft Java mod. Compatible with Minecraft 1.16, 1.21. Downloaded 15 times (via Spigot). Download it and open it directly in the game.