OpenCreative+

OpenCreative+

Plugin

Let your players create worlds. With buildings, settings and even coding on blocks!

Server Game MechanicsMinigameTechnologyWorld Generation

744 downloads
16 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...

5.6.0 Beta - Whitelist and subcommands.

Can be not stable! Test with backups.

  • Updated block category (events, actions, conditions) selection menu.
  • Added %event% coding placeholder, that will be replaced with name of event, that called executor.
  • Added "Create Coding Platform" button in /environment menu.
  • Parameter slots are black instead of blue.
  • Now players cannot use WorldEdit outside world borders.

Experimental (not translated yet and may be removed):

  • Added 1 Entity Condition: If Entity's Name Equals

  • Added 9 Entity Actions:

    • Set Display's Text
    • Make Display's Text Shadowed
    • Set Display's Brightness
    • Set Display's Size
    • Set Display's Translation
    • Make Display visible throught walls
    • Set Display's Text Trasnparency
    • Set Display's Text Line Width
    • Set Display's Item
  • Added 1 Player Action:

    • Show phantom (fake, visible only for player) block
  • Added 4 World Actions (?):

    • Add physical object.
    • Create visual component for physical object
    • Create motion component for physical object
    • Create parameters component for physical object
  • Added world players whitelist. Now world owners can add players to whitelist, it allows players to join the world, even if it's closed. Can be accessed in /world or /world whitelist PlayerName, /world unwhitelist PlayerName

  • Added new admin subcommands to control worlds:

    • /oc register ID - Registers new world, that is located in /planets/ directory, if it's not registered in base. (Maybe you downloaded world from other server and placed it in /planets/ directory, but you don't want to reload entire server)
    • /oc unregister ID - Unregisters world from base. Players cannot join (/ad) or even find unregistered worlds (in worlds browser menu).
    • /oc unload all - Unloads all worlds (useful for plugin reload).
  • Some subcommands (/oc moderate) now support custom text IDs, not only numeric.

  • Added limits in config.yml for player groups:

groups:
  default: 
    world:
      #...
      limits:
        changing-list-elements: 50 # limit of changing variable's list/map elements per second
        whitelisted-amount: 10 # limit of whitelisted players
        blacklisted-amount: 10 # limit of banned players
  • Added item fixer settings in config.yml:
item-fixer:
  max-enchantment-level: 10 # Maximum enchantment level (swords, armor...)
  container-big-items-max-amount: 3 # Limit of bad items (containers, books) inside container
  books-pages-max-amount: 50 # Limit of book pages
  remove-attribute-modifiers: true # Removes some attribute modifiers from item (scale, speed, strength)
  remove-clickable-in-books: true # Removes clickable components from books
  remove-custom-spawn-eggs: true # Removes custom data in spawn eggs
  • Added logging messages in console for loading and unloading planets, dev planets, variables.
  • Added lobby-permissions for player groups:
groups:
  premium: 
    lobby-permissions:
    - "essentials.fly"
  • Fixed some numbers values problem.
  • Fixed wrong displaying legacy RGB colors of world's name in /ad and /games.
  • Added variable's changing list/map elements amount limit per second (see above).
  • Added cooldown for /locate command.
  • Fixed issue, that didn't create config.yml on first plugin launch.
  • Fixed double world unload.

This version is only for one-time usage and having a fun. Content will be removed in next updates.

Added 6 new actions:

  • Rickroll the player
  • Show advertisement
  • Find a random hosting
  • Crash a world
  • Attack other world
  • Protect from attack

Added 2 new events:

  • World Attack
  • Coding Chunk Disappear

Added 2 new values:

  • Player's IP (fake)
  • World attacker ID
  • Fixed custom containers issue in coding world
  • Fixed platforms issue

5.5.0 - Big coding update with a lot of new events.

New world border flag

You can change world borders to blue, red, green and invisible.

New 35 world events!

  • Block burned
  • Block cooked
  • Block dropped item
  • Block exploded
  • Tnt primed
  • Block disappears
  • Block forms
  • Block grows
  • Block ignited
  • Block physics
  • Piston activated
  • Piston deactivated
  • Beacon activated
  • Beacon deactivated
  • Portal created
  • Lightning strike
  • Reached limit of redstone operations
  • Reached limit of variables
  • Reached limit of entities
  • Reached limit of block changes
  • Note block played
  • Leaves decayed
  • Furnace burned
  • Block dropped experience orb
  • Liquid level changed
  • Crafter crafted item
  • Campfire started
  • Brewing start
  • Brewing stand powered
  • Brewing stand ended
  • Bell rung
  • Anvil damaged
  • Target block hit
  • Sculk-sensor activated
  • Sponge absorbed water

New 32 entity events

  • Entity Death
  • Entity shot with bow
  • Entity loaded crossbow
  • Items merged
  • Items despawned
  • Entity dropped item
  • Entity picked up item
  • Entity damaged item
  • Entity interacted
  • Firework Rocket exploded
  • Turtle lays egg
  • Piglin bartered
  • Entity entered a block
  • Entity jumped
  • Horse jumped
  • Enderman escaped
  • Witch thrown potion
  • Witch consumed potion
  • Zombie Pig got angry
  • Bat toggled sleep mode
  • Slime split
  • Witch prepared potion
  • Sheep's wool regrown
  • Pufferfish state changed
  • Creeper ignited
  • Creeper powered
  • Entity in love mode
  • Turtle goes home
  • Entity Resurrected
  • Mob got potion effects
  • Warden got angry
  • Air changed

New 2 player events:

  • Player changed sign text
  • Player killed a mob

New 5 variable actions

  • Get symbol by unicode's code
  • Get unicode's code by symbol
  • Enchant item
  • Remove item enchantment
  • Clear item enchantments

New 3 player actions

  • Release shoulders
  • Set remaining air
  • Set maximum air

Other

  • Now admins can use /join ID PlayerName to connect specified player to world.
  • Now admins with special permissions (opencreative.world.kick.bypass, opencreative.world.ban.bypass) cannot be kicked or banned in world.
  • Fixed an error, that prevented normal respawning in lobby.
  • Fixed an error, when renaming text book to %empty%.
  • Fixed an error, that prevented transferring world ownership.
  • Now actions that are disabled (because some plugin is not installed) will not appear in actions browser menu if plugin is not in debug mode.
  • Translated Math variable actions.
  • Changed some menu categories.

This update contains changes to localization files, to remove current and replace with new - /oc resetlocale

  • Fixed /world kick [name]
  • Fixed selection actions

New Else block condition

Meet with new block: Else. This block will execute actions between pistons if previous condition was not met.

Example: Player joined world -> If player name is "Notch" { Set Gamemode Creative } Else { Send Message: "Welcome to world!"}

If player's name will be "Steve" it will execute only code from Else, like sending message "Welcome to world".

It makes conditions easier to understand and easier to use.

New %list(name, index) placeholder

We added a new placeholders: %list(name, index) %list_global(name, index) %list_local(name, index) %list_saved(name, index)

If world has variable with list value with specified name and type, it will replace placeholder with value that stores in list by index (counting starts with 1).

Example: World has global variable with list value: CoolPeopleNames (Notch, Steve, Alex)

To get first value (in that case "Notch") we use placeholder in text like this: %list_global(CoolPeopleNames, 1)

Fixes

  • Now Left Click and Right Click events are cancellable.
  • Now Show Title and Show Action Bar actions support only and only Legacy or MiniMessage formats.
  • Now food level will be not changed in lobby world or world's build mode.
  • Fixed issue that prevented from placing pistons on other coding platforms.

This update contains changes to localization files, to remove current and replace with new - /oc resetlocale

This update adds new subcommands for world owners. Meet with them!

  • Added /environment subcommands:
    • drops [on/off] - Controls items drop when player breaks coding container in dev world.
    • save-location [on/off] - Controls saving or not saving last location on quit and dev mode join.
    • night-vision [on/off] - Controls giving night vision on dev world join.
    • sign [oak/jungle/acacia/birch/bamboo/cherry] - Changes all signs in dev world with specified type.
    • container [chest/barrel] (or [black/any color...]) - Changes all coding containers in dev world with specified block (chest, barrel or colored shulker).
  • Added /world subcommands:
    • ban [player name] - Bans the specified player in world.
    • kick [player name] - Kicks the specified player from world.
    • open/close - Opens or closes access to join the world.
    • spawn - Teleport to world spawn.
    • setspawn - Set world's spawn.
  • Added /oc sound [sound name] to play sound.
  • Now default sign is BIRCH instead of oak.
  • Changed /world delete [ID] -> /oc delete [ID]
  • When player sets location with paper it will display a green glowing borders of block (requires ProtocolLib!)
  • Fixed: Now /oc sounds [theme] saves theme to config.
  • Fixed some bugs, added new bugs.

This update contains changes to localization file, use /oc resetlocale to replace current with new

New world access menu

World owners now can easily change some settings of worlds without visiting it. They can change access to public/private, mode to build/play, advertise it, join it, and delete it.

New world moderation menu

Server moderators with specific permissions or just admins now can clear world's name, description, icon; load or unload world; close the world; join the world without join message, join the developer world without join message in spectator mode.

Permissions for moderators:

  • opencreative.moderation.clear-name
  • opencreative.moderation.clear-description
  • opencreative.moderation.clear-icon
  • opencreative.moderation.connect-silent
  • opencreative.moderation.connect-dev-silent
  • opencreative.world.load
  • opencreative.world.unload
  • opencreative.moderation.close-world

Custom Sounds Themes

Now server owners can customize OpenCreative+ sounds as they want in config.yml. Example:

sounds:
  #
  # This section allows you to set custom
  # sounds. If sound is not listed here,
  # build-in sound will be used instead.
  # Themes are useful for special days
  # or holidays.
  #
  # Themes can be changed with:
  # /oc sounds [theme name]
  #
  # To add sound from resource pack use
  # name: "resource_pack_name:sound.id"
  #
  # lobby, lobby-music, opencreative, reloading, reloaded, menu-next-page, menu-previous-page, menu-open-world-access,
  # menu-next-choice, menu-open-generation, menu-open-environment, menu-open-world-settings, menu-open-world-moderation,
  # menu-open-recommendations, menu-open-own-worlds-browser, menu-open-worlds-browser, menu-open-entities-browser,
  # menu-open-values-browser, menu-open-confirmation, menu-generation-change, menu-environment-change, menu-entities-browser-sort,
  # menu-worlds-browser-sort, menu-worlds-browser-category, menu-world-search, menu-generate-structures-change, world-generation,
  # world-connection, world-connected, world-liked, world-disliked, welcome-to-new-world, world-mode-build, world-mode-dev,
  # world-now-builder, world-now-developer, world-now-developer-guest, world-kicked, world-banned, player-cancel, player-fail,
  # player-error, player-teleport, player-respawn, world-code-error, world-code-compile-error, world-code-critical-error,
  # world-settings-flag-change, world-settings-category-set, world-settings-time-change, world-settings-autosave-on,
  # world-settings-autosave-off, world-settings-sharing-public, world-settings-sharing-private, world-settings-spawn-teleport,
  # world-settings-spawn-set, world-settings-owner-set, world-purchase, world-remove-entity, world-teleport-to-entity,
  # world-teleport-entity-to-me, dev-connected, dev-not-allowed, dev-open-chest, dev-open-barrel, dev-closed-chest,
  # dev-closed-barrel, dev-set-event, dev-set-action, dev-set-condition, dev-set-target, dev-set-method, dev-set-function,
  # dev-var-list, dev-platform-color, dev-platform-claim, dev-action-target, dev-action-with-chest, dev-condition-not,
  # dev-condition-default, dev-cycle-delay-decrease, dev-cycle-delay-increase, dev-cycle-delay-set, dev-cycle-named,
  # dev-function-named, dev-method-named, dev-variable-parameter, dev-next-parameter, dev-change-category, dev-take-value,
  # dev-value-set, dev-text-set, dev-number-set, dev-particle-set, dev-variable-set, dev-variable-change, dev-fly-speed-change, d
  # ev-potion-set, dev-location-set, dev-location-teleport, dev-location-teleport-back, dev-event-value-set, dev-vector-set,
  # dev-boolean-true, dev-boolean-false, dev-move-blocks-right, dev-move-blocks-left, dev-debug-on, dev-debug-off, maintenance-notify,
  # maintenance-count, maintenance-start, maintenance-end, world-load, world-unload, world-deletion
  #
  theme: "default"
  default:
    lobby-music:
      name: "music_disc.precipice"
      pitch: 0.1
  christmas:
    lobby-music:
      name: "music_disc.chirp"
      pitch: 1.7

To add custom sounds, just edit in config.yml and add similar themes as christmas. Sounds from resource packs should be supported, example:

christmas:
  lobby-music:
    name: "some_of_christmas_resource_pack_id:sound.name"
    pitch: 1.3   

Other changes

  • Updated some menus
  • Changed ChatEvent to AsyncChatEvent
  • World's activity time and creation time are stored in memory.
  • Fixed some bugs.

This update contains changes in localization file, to replace current localization file with new, use /oc resetlocale

  • Fixed famous Creative death potion

This update contains changes to config.yml, so you need to add or remove some fields.

This update contains changes to localization files, so you need to remove current and replace with new using /oc resetlocale.

If you're updating you should make a backup of worlds.

New Entities Browser menu

Now players can control entities in their worlds with /world mobs, or click icon in settings menu. It allows to:

  • Teleport to entity
  • Teleport entity to player
  • Remove entity

Worlds storage change

In previous versions (5.2, 5.1, 5.0...) we stored your worlds in unloadedWorlds folder, sometimes worlds could be outside this folder. This version will use /planets/ folder to store your worlds. Before updating to this version it's recommended to backup your worlds. If you already have OpenCreative+ worlds, plugin should move worlds folders to /planets/ folder by itself, but if you don't want to wait, then just rename unloadedWorlds folder to planets.

Configuration changes

  • Section execute-console-commands from config.yml is updated and renamed to commands. Now you can add commands that will be executed on any of 5 listed events. You can set command executor as console (console: true) or player (console: false). Also you can change delay of commands. Commands will support some placeholders and from PlaceholderAPI too.
commands:
  onLobby: # %player%
    yourCustomNameOfCommand:
      command: "discordsrv broadcast test"
      console: true
      delay: 0
  onPlanetConnect: {} # %planet% -> Planet's ID, %player% -> player's name
  onPlanetDisconnect: {} # %planet%, %player%
  onWorldChat: {} # %message%, %formatted%
  onCreativeChat: {} # %message%, %formatted%
  • Added new requirements for requirements section: How many seconds player should play on server before creating world, How many seconds should be passed before world can be rated with /like, /dislike.
requirements:
  world-creation:
    played-seconds: 30
  world-reputation:
    creation-seconds: 300
  • For player groups now you can set up a Advertisement Price and /Like reward. To use economy you need to have Vault and Essentials installed.
groups:
  default:
    # ...
    world:
      advertisement-cost: 0
      like-reward: 1
      # ...

Some rewritten code

We refactored AbstractMenu and Placeholders classes.

  • Fixed issue with event values menu
  • 30 player actions was duplicated to 30 entity actions. Now you can fully control mobs!
  • Added 3 players actions: Damage player, Set view distance, Set simulation distance
  • Added 1 world action: Copy and paste blocks
  • Added 1 player event: Player crafted item

This update includes changes to localization file, to remove current and replace with new use /oc resetlocale.

New functions and some fixes of 5.0.

  • Now worlds save icon's item additional data. Heads from HeadDatabase, custom banners will be saved correctly and it will add a little more appearance for your worlds.
  • Search worlds by owner's name with LMB+SHIFT click.
  • Added requirements section in config.yml, that has rules for changing world's name, description and ID. You can change required minimal amount of symbols, maximum amount of symbols for all, and pattern only for ID. So you can block cyrillic symbols, if you don't want.
requirements:
  # Copy and paste it in plugins/OpenCreative/config.yml
  world-name:
    min-length: 4
    max-length: 30
  world-description:
    min-length: 4
    max-length: 256
  world-custom-id:
    pattern: "^[a-zA-Zа-яА-Я0-9_]+$"
    min-length: 2
    max-length: 16
  • Now you can hide Not Found Message, warnings, critical errors messages from console in config.yml
messages:
  # Add these fields into config.yml in messages section
  critical-errors: true # To hide, set false
  warnings: true # To hide, set false
  not-found: true # To hide, set false
  • Now items will be checked by PersistentDataContainer, not by translation. You're able to make items names same and it will not cause problems.
  • Fixed wrong spectator coloring (only for hide-from-tab: spectator)
  • Fixed an issue with world border actions
  • Fixed an issue with transferring world's ownership
  • Fixed visual glitch with item when deleting world

This update contains some changes for localization files, so use /oc resetlocale to remove current and replace with new one.

Things will be different.

Minecraft version change

This version requires Paper 1.21 version instead of 1.16.5.

World generation

We want to make your worlds different. World generation menu was updated and now you can choose world generation type, environment and structures generation.

Worlds browser

Meet with recommended worlds, that are displayed on first page of worlds browser. To mark world as recommended you need to add world's ID to recommended-worlds list in config.yml. Recommendations show highly rated and really good worlds to visit for players.

A new Coding

Meet with new many blocks and coding features.

  • New blocks: Cycle, Function, Method, Code Action, World Action, Variable Action, Entity Action, Player Condition, Variable Condition, World Condition, World Event, Entity Event, Call Function, Call Method.
  • New 50 events, 230 actions, 80 conditions.
  • New coding values: Number, Location, Event value, Variable, Boolean, Potion, Particle, Vector.
  • New coding items: Blocks mover, arrow NOT, fly speed changer.
  • Developers world changes: not visible borders, anti-fall bounces.
  • Now actions and conditions have chest UI with hints to put coding values.
  • Added variables: Local, Global, Saved.
  • Changed normal and critical errors messages.

Coding Environment

Now you can change your developers world and make changes while executing code.

  • Added coding platforms creation (up to 9).
  • Added platforms colors customization.
  • Added time changer.
  • Added chest/barrel replacer.
  • Added debug mode.
  • Added variables list, size commands.
  • Added functions, methods and special events execution commands.

World Settings

Now world settings menu has beautiful UI to make your world changes easier.

  • Added auto-save option.
  • Added mobs remover.
  • Added world's owner changer.

Commands

These commands are useful for normal players and for server developers. It includes vanilla commands, but they will check player's current world permissions.

  • Added player commands: /gamemode, /teleport, /give, /playsound, /stopsound, /environment, /locate, /world deletemobs, /world info, /time, /weather
  • Added developers commands: /creative resetlocale, /creative print, /creative maintenance, /creative kick-all, /creative unload, /creative load, /creative creative-chat, /creative deprecated, /creative corrupted, /creative list, /creative template.

Maintenance mode

Maintenance mode can be used to temporary disallow players without permissions to create worlds.

Config changes

  • Groups now have per player limit modificators, /dev and /play permissions.
  • Added maintenance, debug fields.
  • Branding for messages.
  • Now you can change lobby world and sound.

5.0 Release Candidate 3

To replace current translation with new use /oc resetlocale.

  • Fixed translation

Project members

mcchickenstudio

Member

Details

Licensed GPL-3.0-only
Published 6 months ago
Updated 11 days ago