DupePlus

DupePlus

A Dupe Plugin /dupe on a item and it duplicates it.

8.0K
11

DupePlus 1.4.1

release11 декабря 2025 г.

v1.4.1

If you have any issues with the plugin or want to request a feature, then please report it at the DupePlus GitHub Repository Issue

Now doesn't break on 1.21.10 and 1.21.9

DupePlus now works on 1.21.10 and 1.21.9 without any known issues.

@RenegadeActual's issue

Custom Commands Notice

If you changed the custom command for dupe and reloaded the configuration, then players must rejoin to see the changes.

Improvement on blocklist

/dupeplus blocklist

DupePlus now has a Blocklist Menu, which allows you to add and remove items from the blocklist, and make an item undupeable. And turn off and on the whitelist/blacklist from the menu with ease.

Make your item undupeable fast

/dupeplus block

Adds the dupenotallowed tag on your item.

(small fix)

DupePlus 1.4.0

beta2 ноября 2025 г.

v1.4.0

If you have any issues with the plugin or want to request a feature, then please report it at the DupePlus GitHub Repository Issue

DupePlus will no longer support versions below 1.20

Custom Command

You can now customise the /dupe command. You can change the name of the command /<name>, and the aliases of the command (Another way of using /dupe).

@8Ad8's feature

CommandAPI

PlaceholderAPI Support

You can now use PlaceholderAPI in the customizable messages in config.yml.

PlaceholderAPI available placeholders

New change to Variables

Instead of using % for variables. You will need to use < > (for PlaceholderAPI, use the regular %).

Worlds

You can now block or allow /dupe in specific worlds.

Changes to Blacklist

You are now able to whitelist or blacklist worlds or items. Whitelist blocks everything and allows the worlds/items in the list. Blacklist does the opposite. @Sonicscream's suggestion

Bugfixes

  • Fixed an issue where duplicating items would send an error instead of the dupe message.
  • Removed the Checking Key in console. (i forgot to remove it after releasing it)

Small change

Changed com.galaxydevnetwork into net.meme20200 Turned off cooldown by default. @ziadhashimeh80-eng's issue

Added a way to list all ItemsAdder items by using itemsadder:*

DupePlus 1.3.0

release14 марта 2025 г.

v1.3.0

If you have any issues with the plugin or want to request a feature then please report it at the DupePlus GitHub Repository Issue

Custom NBT Item

Block items from being duplicated by adding the {"dupenotallowed":true} to the item.

1.20.5 and above

In the new change, Minecraft changed NBTs into components, and they also changed how custom tag works, it has to be in the custom_data.

Example:

/give @p minecraft:diamond_sword[minecraft:custom_data={dupenotallowed:true}]

The command gives you a diamond sword with the undupeable tag in the Component format.

1.20.4 and below

Instead of using components, you have to use NBT which is JSON formatted, instead of including the custom tag into the custom_data, you don't have to put it anywhere.

/give @p minecraft:diamond_sword{dupenotallowed:true}

The command gives you a diamond sword with the undupeable tag in the NBT format.

Cooldown Permission

Let some players/groups off the cooldown by adding the permission dupeplus.cooldown

Times Max Value

Have multiple max values for players/groups, for an example the max-value for VIP is 8.

Add vip: 8 in the max-values then give the permission dupeplus.times.max.vip to the group/player.

one-time-message

Sometimes the times can be spammy for chat, if this option is enabled then whenever you use times, it will only send the message once.

Lore

Add lore to a duplicated item to show that it's duplicated, the original item will not be affected by the lore feature.

Item Identifier

A Custom Item Identifier for blacklist, instead of TRIDENT it will be minecraft:trident, this also supports itemsadder:<id>.

ItemsAdder Support (Blacklist)

Block some ItemsAdder items from being duplicated, use itemsadder:<Item's ID>, if you want to disable itemsadder support then disable it from the integrations

New Placeholders

%dupe_item% is now replaced by %item_name%.

%raw_dupe_item% is removed.

  • %item_type%
  • %item_name%
  • %old_item_count%
  • %new_item_count%
  • %item_count%

config.yml

config.yml
# DupePlus's Settings
# Message Variables
# %item_type% = The Duplicated item
# %item_name% = The Item's Display Name
# %old_item_count% = The Item Count before dupe
# %new_item_count% = The Item Count after dupe
# %item_count% = Item Count
# %prefix% = The default prefix or the prefix you set
# %max% = The maximum
# %min% = The minimum

# Use this website to help you customize your messages
# https://webui.advntr.dev
dupe:
  # The prefix for you to use
  prefix: "<green>DupePlus</green>"

  # Make it false to let everyone allowed to use this command (Default: false)
  # Permission: dupeplus.dupe
  permission: false


  # The message sent to the player when try to execute dupe or reloadconfig no permission (Only if the above is true) (Default: "%prefix% <dark_gray>|</dark_gray> <red>You are not allowed to use this command</red>")
  # Leave blank for no message
  permission-message: "%prefix% <dark_gray>|</dark_gray> <red>You are not allowed to use this command</red>"

  # The message sent to the player when you duplicate an item. (Default: "%prefix% <dark_gray>|</dark_gray> <gray>Duped %item_name%</gray>")
  # Allowed Message Variables: %prefix%, %item_type%, %item_name%, %old_item_count%, %new_item_count%
  message: "%prefix% <dark_gray>|</dark_gray> <gray>Duped %item_name%</gray>"

  # The message sent whenever the player tries to dupe nothing (Air) (Default: "")
  # Leave blank for no message
  duping-nothing-message: ""

  # Checks if the item has a NBT Tag of "dupenotallowed", if it has, it will not dupe the item.
  custom-nbt-item:
    # Make it false to disable the Custom NBT feature, make it true to enable it (Default: true)
    enabled: true

    # Allowed message variable: %prefix%, %item_type%, %item_name%, %item_count% (Default: "%prefix% <dark_gray>|</dark_gray> <red>The item is blocked from being duped!</red>")
    # Leave blank for no message
    blocked-message: "%prefix% <dark_gray>|</dark_gray> <red>The item is blocked from being duped!</red>"


  # When using /dupe, in which hand will it dupe? (Default: MainHand)
  # OffHand
  # MainHand
  dupe-on: MainHand

  # Message to the sender if they try to dupe as a non-player (Default: "DupePlus | You can't do that!")
  console-message: "DupePlus | You can't do that!"

  # Settings for blacklist
  blacklist:
    # Make it false to disable the blacklist, make it true to enable it (Default: false)
    enabled: false
    # If the player tries to dupe an item that is in (Default: "%prefix% <dark_gray>|</dark_gray> <red>The item is blocked from being duped!</red>")
    # Allowed message variable: %prefix%, %item_type%, %item_name%, %item_count%
    # Leave blank for no message
    blocked-message: "%prefix% <dark_gray>|</dark_gray> <red>The item is blocked from being duped!</red>"
    # Add or remove items to block them from being duped, also do not include spaces. (NO: "diamond block" YES: "diamond_block")

    # Begin the item's id with minecraft: to check the item's type only, it will ignore if the item is part of a custom plugin. (Default: - minecraft:barrier)
    # Begin the item's id with itemsadder: if you want to check if the item's itemsadder id, it will not check for the namespace.
    items:
      - minecraft:barrier

  # Settings for the cooldown of /dupe
  cooldown:
    # Make it false to disable the cooldown, make it true to enable it. (Default: false)
    enabled: false

    # How many seconds for the cooldowns to be. (Default: 3)
    seconds: 3

    # If the player tries to dupe while the cooldown is set. (Default: "%prefix% <dark_gray>|</dark_gray> <red>Please wait %duration%.</red>")
    # Allowed message variable: %prefix%, %duration%
    # Leave blank for no message
    wait-message: "%prefix% <dark_gray>|</dark_gray> <red>Please wait %duration%.</red>"

    # Make it true if you want players with the permission to ignore the cooldown, make it false if you want everyone to have cooldown. (Default: false)
    # Permission: dupeplus.cooldown
    permission: true


  # Settings for this (ignore if you don't want this) players can still run /dupe
  # /dupe <times>
  times:
    # Make it false to disable this feature, make it true to enable this feature (Default: false)
    enabled: false

    # Set it to 0 to disable the times  (Default: 5) (Recommended: 5)
    # Permission to let a player/group have no maximum regardless of this option: dupeplus.times.max.unlimited
    # dupeplus.times.max.<name>
    max-values:
      pro: 10
      vip: 8
      default: 5 # Default permission or players without the permission who are using the dupe times.
    
    # If the player puts the value above the maximum then what's the message? (Default: "%prefix% <dark_gray>|</dark_gray> <red>This is higher than maximum! Do something lower than %max%</red>")
    # Allowed message variable: %prefix%, %max%, %min%
    # Leave blank for no message
    max-message: "%prefix% <dark_gray>|</dark_gray> <red>This is higher than maximum! Do something lower than %max%</red>"

    # 0 for no minimum amount of times the player can run (Default: 0) (Recommended: 0)
    # Permission to let a player/group have no minimum regardless of this option: dupeplus.times.min.unlimited
    # It is recommended to just keep this at 0
    min: 0

    # If the player puts the value below the minimum (Default: "%prefix% <dark_gray>|</dark_gray> <red>This is lower than minimum! Do something higher than %min%</red>")
    # Allowed message variable: %prefix%, %max%, %min%
    # Leave blank for no message
    min-message: "%prefix% <dark_gray>|</dark_gray> <red>This is lower than minimum! Do something higher than %min%</red>"

    # Instead of sending the dupe message for every time it duplicates, it sends it one time to stop spam. (Default: true)
    one-time-message: true

    # Make it false to let everyone allowed to use this command (Default: false)
    # Permission: dupeplus.times
    permission: false

  # Adds lore to the duplicated item.
  lore:
    # Enables or disables this feature. (Default: false)
    enabled: false

    # The lore added to the duplicated item. (Default: "<dark_red>*</dark_red> <red>Duplicated Item</red>")
    text: "<dark_red>*</dark_red> <red>Duplicated Item</red>"

    # The modes on how the plugin will add the lore. (Default: set)
    # append: Checks if the dupe lore exists or not, if it doesn't exist then it adds after the last lore or just adds the lore if no lore is present.
    # set: Checks if the dupe lore exists or not, if it doesn't exist then it will replace the existing lore with the dupe lore, otherwise it just ignores. (Recommended)
    mode: set

# The Integrations that this plugin connects with.
integrations:
  # Enables ItemsAdder Integration (Default: true)
  itemsadder: true

# Checks for updates using the set API (Modrinth or SpigotMC),
updates:
  # Checks on startup for updates, disable if you do not wish to update DupePlus.
  checkupdate: true

  # Which Service should the Check Update use? (Default: Modrinth)
  # Modrinth
  # SpigotMC
  api: Modrinth

  notify:
    # Notify players with the permission to update the plugin to the latest version.
    player-notify: true
    # The message sent to everyone who has the permission (Default: "%prefix% <dark_gray>|</dark_gray> <white><green>DupePlus</green> is outdated, please update at: <blue>%link%</blue>")
    # (Permission: dupeplus.updates.notify)
    # Allowed message variable: %prefix%, %link%, %currentversion%, %newversion%
    notify-message: "%prefix% <dark_gray>|</dark_gray> <white><green>DupePlus</green> is outdated, please update at: <blue>%link%</blue>"

    # Send message to the console for the server owner to update the plugin.
    console-notify: true

    # The message sent to the console (Default: "%prefix% | Update DupePlus at %link%")
    # Allowed message variable: %prefix%, %link%, %currentversion%, %newversion%
    console-notify-message: "%prefix% | Update DupePlus at %link%"

# Don't edit this
# Previous: 1.2
# config-version: 1.3
config-version: 1.3

Notes

As this is a SpigotMC 1.17 plugin, this will support all versions from 1.17 from 1.21.4 including newer ones, this plugin will work on all major forks of SpigotMC like PaperMC & Purpur (Fork of PaperMC)

DupePlus 1.2.0

release14 октября 2024 г.

DupePlus 1.2.0

config.yml

Made a large change to config.yml

config.yml
# The command's settings
# Message Variables
# %dupe_item% = The Duplicated item
# %prefix% = The default prefix or the prefix you set
# %max% = The maximum
# %min% = The minimum

# Use this website to help you customize your messages
# https://webui.advntr.dev
dupe:
  # The prefix for you to use
  prefix: "<green>DupePlus</green>"

  # Make it false to let everyone allowed to use this command (Default: false)
  # Permission: dupeplus.dupe
  permission: false

  # The message sent to the player when try to execute dupe or reloadconfig no permission (Only if the above is true) (Default: "%prefix% <dark_gray>|</dark_gray> <red>You are not allowed to use this command</red>")
  permission-message: "%prefix% <dark_gray>|</dark_gray> <red>You are not allowed to use this command</red>"

  # Leave blank for no message (Default: "%prefix% <dark_gray>|</dark_gray> <gray>Duped %dupe_item%</gray>")
  # Allowed Message Variables: %prefix%, %raw_dupe_item%, %dupe_item%
  message: "%prefix% <dark_gray>|</dark_gray> <gray>Duped %dupe_item%</gray>"

  # The message sent whenever the player tries to dupe nothing (Air) (Default: "")
  # Leave blank for no message
  duping-nothing-message: ""

  # When using /dupe, in which hand will it dupe? (Default: MainHand)
  # OffHand
  # MainHand
  dupe-on: MainHand

  # Message to the sender if they try to dupe as a non-player (Default: "DupePlus | You can't do that!")
  console-message: "DupePlus | You can't do that!"

  # Settings for blacklist
  blacklist:
    # Make it false to disable the blacklist, make it true to enable it (Default: false)
    enabled: false
    # If the player tries to dupe an item that is in (Default: "%prefix% <dark_gray>|</dark_gray> <red>The item is blocked from being duped!</red>")
    # Allowed message variable: %prefix%, %dupe_item%
    blocked-message: "%prefix% <dark_gray>|</dark_gray> <red>The item is blocked from being duped!</red>"
    # Add or remove items to block them from being duped, also do not include spaces, for an example (NO: "diamond block" YES: "diamond_block")
    items:
      - barrier

  # Settings for the cooldown of /dupe
  cooldown:
    # Make it false to disable the cooldown, make it true to enable it. (Default: false)
    enable: false
    # How many seconds for the cooldowns to be.
    seconds: 3
    # If the player tries to dupe while the cooldown is set. (Default: "%prefix% <dark_gray>|</dark_gray> <red>Please wait %duration%.</red>")
    # Allowed message variable: %prefix%, %duration%
    wait-message: "%prefix% <dark_gray>|</dark_gray> <red>Please wait %duration%.</red>"


  # Settings for this (ignore if you don't want this) players can still run /dupe
  # /dupe <times>
  times:
    # Make it false to disable this feature, make it true to enable this feature (Default: false)
    enabled: false

    # 0 for no maximum amount of times the player can run (Default: 5) (Recommended: 5)
    # Permission to let a player/group have no maximum regardless of this option: dupeplus.times.max.unlimited
    max: 5

    # If the player puts the value above the maximum then what's the message? (Default: "%prefix% <dark_gray>|</dark_gray> <red>This is higher than maximum! Do something lower than %max%</red>")
    # Allowed message variable: %prefix%, %max%, %min%
    max-message: "%prefix% <dark_gray>|</dark_gray> <red>This is higher than maximum! Do something lower than %max%</red>"

    # 0 for no minimum amount of times the player can run (Default: 0) (Recommended: 0)
    # Permission to let a player/group have no minimum regardless of this option: dupeplus.times.min.unlimited
    min: 0

    # If the player puts the value below the minimum (Default: "%prefix% <dark_gray>|</dark_gray> <red>This is lower than minimum! Do something higher than %min%</red>")
    # Allowed message variable: %prefix%, %max%, %min%
    min-message: "%prefix% <dark_gray>|</dark_gray> <red>This is lower than minimum! Do something higher than %min%</red>"

    # Make it false to let everyone allowed to use this command (Default: false)
    # Permission: dupeplus.times
    permission: false

# Checks for updates using the set API (Modrinth or SpigotMC),
updates:
  # Checks on startup for updates, disable if you do not wish to update DupePlus.
  checkupdate: true

  # Which Service should the Check Update use? (Default: Modrinth)
  # Modrinth
  # SpigotMC
  api: Modrinth

  notify:
    # Notify players with the permission to update the plugin to the latest version.
    player-notify: true
    # The message sent to everyone who has the permission (Default: "%prefix% <dark_gray>|</dark_gray> <white><green>DupePlus</green> is outdated, please update at: <blue>%link%</blue>")
    # (Permission: dupeplus.updates.notify)
    # Allowed message variable: %prefix%, %link%, %currentversion%, %newversion%
    notify-message: "%prefix% <dark_gray>|</dark_gray> <white><green>DupePlus</green> is outdated, please update at: <blue>%link%</blue>"

    # Send message to the console for the server owner to update the plugin.
    console-notify: true

    # The message sent to the console (Default: "%prefix% | Update DupePlus at %link%")
    # Allowed message variable: %prefix%, %link%, %currentversion%, %newversion%
    console-notify-message: "%prefix% | Update DupePlus at %link%"

# Don't edit this
# Previous: 1.1
# config-version: 1.2
config-version: 1.2

Update Checker

Using either the Modrinth API or the SpigotMC API, you can be sure that you are in the new version.

Cooldown

Add a cooldown to the /dupe, by default it's turned off.

Additional Updates

  • %dupe_item% is now %raw_dupe_item%, Example: %raw_dupe_item%: TRIDENT however %dupe_item% will be Trident for better clarity.

DupePlus 1.1.4

release22 июля 2024 г.

Added /dupeplus blacklist <item>, Permission for the command is dupe.admin.blacklist

Совместимость

Minecraft: Java Edition

1.20–1.21.111.18–1.19.41.17–1.17.1

Создатели

galaxydevel0per

galaxydevel0per

Владелец

Детали

Лицензия:MIT
Опубликован:2 года назад
Обновлён:1 неделю назад