Donation
I've created all my mods in my free time ⏳ for you all gratuitously with love 💖.
If you enjoy 😁 this mod and want to give something in reward 💰:
You can support 🤝me either on Patreon, Paypal or Flattr.
Attention:
If you're updating from Version 1.1.0 to the 1.1.5 (or higher) you should backup your DenyBlocks configs and delete the original configs afterwards. I needed to make several changes to have a better granularity for denied objects. Sorry for that in advance.
Brief
This mod gives you as admin of a server the ability to deny certain blocks/items of certain mods in certain dimensions for placement, interaction and/or attack.
Usage
It's mainly used to have multiple themed dimensions or only one with several denied items. It's up to you what you finally use this mod for.
- You can use this mod within a server without needing it as player. (Server side)
- You can use this mod as single player, too. (Client side)
I for example had medieval themed mods and tech related mods but didn't wanted to have them together in one dimension, therefor I developed this mod to have two strict separated worlds.
ModID: To figure out the ID of a mod use my mod ShowPlugins or open the JAR file with an application like 7-zip and extract the file "mcmod.info", open this file with an editor like Notepad++ and you will see the modid.
Block/-ItemID: To figure out the ID of a block/item use the ingame command show. See the sub commands.
Features
- Deny blocks and items (objects) based on their names and/or their mod origin
- for example: deny all objects from mod xyz in dimension abc
- or: deny item xyz from mod abc in all dimension
- or: deny eveything in every dimension
- or: deny block xyz from mod abc in dimension 123 and 987
- Placeholder to match every dimension/mod/object are possible
- Wildcards for objects are possible
- Commands to add/remove/clear denied objects
- Permission for each command possible
- Customizable language configuration
- A bypass option to have still full control over the denied blocks as admin [since 1.1.5]
- Customizable if you want to deny the object for placement, interaction or attack [since 1.1.5]
- Deny messages can be turned on/off [since 1.1.5]
Config
The config file is located in: config/denyblocks/configGeneral.cfg
- commandName
- If you want to redefine another command name for the mod do it with this value.
- commandNameAliases
- If you want to define an alias name for the command do it with this value.
- denyBlocksAndItems (until 1.1.0)
- The list of denied objects.
- see syntax/examples
- denyPlacement [since 1.1.5]
- The list of objects, which can't be placed.
- see syntax/examples
- denyInteraction [since 1.1.5]
- The list of objects, which can't be interact with. (such as benches, chests, etc.)
- see syntax/examples
- denyAttack [since 1.1.5]
- The list of objects, which can't be used to attack with. (such as swords, axes, etc.)
- see syntax/examples
Syntax / Examples
The syntax is the following:
- dimension:mod:block:type [until 1.1.0]
- dimension:mod:item:type [until 1.1.0]
- dimension:mod:block:type (placement) (interaction) (attack) [since 1.1.5]
- dimension:mod:item:type (placement) (interaction) (attack) [since 1.1.5]
Every position can use an 'x', which means it can be everything. An 'x' for dimension would mean 'every dimension'.
The block/item node is able to use wildcards. Put an asterix (*) at the beginning and/or the end to filter a block/item ending, starting or containing your filter.
[until 1.1.0]
- Example: -1:minecraft
- Result: In the nether it isn't allowed to place any minecraft related blocks.
- Example: 0:minecraft:dirt:0
- Result: In the overworld it isn't allowed to place minecraft dirt but any other kind of dirt like podzol.
- Example: 6:appliedenergistics2:inscriber
- Result: In the dimension 6 it isn't allowed to place the inscriber of AE2.
- Example: 1:x
- Result: In the end it isn't allowed to place any block.
- Example: x:minecraft:iron_sword
- Result: In every dimension it isn't allowed to use the minecraft iron sword.
- Example: x:x:*seed*
- Result: Every kind of seed is denied everywhere.
- Example: 0:x:*_hoe
- Result: Deny in dimension '0' every block/item ending with '_hoe'
[since 1.1.5]
- Example: -1:minecraft
- Result: In the nether it isn't allowed to place/interact/attack with any minecraft related blocks.
- If no further arguments are given the placement/interaction/attack is always on. (1 1 1)
- Example: 0:minecraft:dirt:0 1 0 0
- Result: In the overworld it isn't allowed to place minecraft dirt but any other kind of dirt like podzol.
- Example: 6:appliedenergistics2:inscriber 0 1 0
- Result: In the dimension 6 it isn't allowed to interact with the inscriber of AE2.
- Example: x:minecraft:iron_sword 0 0 1
- Result: In every dimension it isn't allowed to attack with the minecraft iron sword.
- Example: x:x:*seed* 1 1 1
- Result: Every kind of seed is denied for placement/interaction/attack everywhere.
Commands
The base command is:
- denyblocks
Append one of the sub commands to execute them. Example:
- denyblocks help
Sub commands
The text between the signs less than and greater than is necessary to execute it correctly. The text between brackets is optional.
- add <deniedNode> [until 1.1.0]
- Adds a new denied block/item the list.
- See syntax/examples
- add <deniedNode> (placement) (interaction) (attack) [since 1.1.5]
- Adds a new denied object to the placement/interaction/attack list.
- See syntax/examples
- aliases
- Shows available aliases for the main command.
- bypass <playerName> [since 1.1.5]
- Allows the given player to bypass the denied options for all objects.
- clear <deniedNode> [until 1.1.0]
- Removes all objects from the node.
- for example: all blocks denied by mod 'abc' or in dimension 'xyz'
- clear <deniedNode> (placement) (interaction) (attack) [since 1.1.5]
- Removes all objects from the node of the placement/interaction/attack list.
- for example: all objects denied by mod 'abc' or dimension 'xyz'
- help (<command>)
- Shows help for each available command.
- list <@ll|deniedNode>
- Displays all entires of the node
- Example 1: /denyblocks list x:minecraft
- Result: Lists all entries starting with x:minecraft
- Example 2: /denyblocks list @ll
- Result: Lists every entry available
- messages <0|1> [since 1.1.5]
- Turns the messages on/off, that the object is denied.
- reload
- Will reload the configuration from disc.
- remove <deniedNode> [until 1.1.0]
- Removes only the given block/item.
- remove <deniedNode> (placement) (interaction) (attack) [since 1.1.5]
- Removes only the given object from the placement/interaction/attack list.
- show <blocks|items> <modId> (<pageNumber>)
- Show 50 blocks/items of a given mod
- If there are more than 50 entries, the mod will inform you about the pageNumber argument
- Example: /denyblocks show items mysticalagriculture 2
- Result: Shows the items 51-100 of the mod Mystical Agriculture
- syntax
- Explains the syntax; what "<deniedNode>" can represent.
- Explains how to use the arguments placement/interaction/attack [since 1.1.5]
- Explains the syntax; what "<deniedNode>" can represent.
Permissions
Each command has it's own permission so that the mod is fully customizable to your needs.
Structure:
denyblocks.commands.Commands //Main command
denyblocks.commands.Command<CommandName> //Sub commands
Example:
denyblocks.commands.CommandHelp //Help command
denyblocks.commands.CommandSyntax //Syntax command
[...]
I can't assume that you want provide the functions of the mod to anyone therefore you will possibly encounter the message: "You do not have permission to use this command."
Use a permission manager like ThutPerms to solve this problem by providing you the permissions you need.
Installation
Just put the mod into your mod folder. It's only needed on the server-side if you're hosting a server.
Dependencies
You need at least the corresponding Forge Version.
Language
Currently I'm providing the mod in british english (hopefully). There will be a language file created which gives you the ability to translate the entire mod to your target language:
- config/denyblocks/configLang.cfg
Ideas / Suggestions
As developer one can only guess what the needs of admins / players are, so don't hesitate telling me your ideas / suggestions. Even if you're thinking that some things could be solved much easier or on another way I will appreciate it.
Bugs / Problems
I'm not able to cover all conditions the mod will encounter therefore there can always be bugs / problems, if you find some please tell me so I can fix them. One advice from me at this point: Provide basic information like MC/Forge version and mod version.
Modding
Outstanding until it gets open source.
Source Code (/ Copyright)
I'm a fan of open source, I really do and I'm willing to provide the source code if I get enough requests for it or I decide to publish it - until this point all rights are reserved.
Contribution
You have translated the mod to russian, you have a better logo for it? You can always contribute to this mod at any time, just contact me.
Contact
Use the comment section, write me a pm or visit the discord channel PixtarMcMods.
Viruses / Worms
Every file is scanned across VirusTotal.com with 0 / 60 findings:
1.12.0: v.1.0 v.1.0.5 v.1.1.0 v.1.1.5 v.1.1.6