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 tocommands
. 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