Jump to content

Nikedemos

Creator
  • Posts

    139
  • Joined

  • Last visited

Everything posted by Nikedemos

  1. Hi there! Sorry I'm only getting to your ticket now. For some reason the ticket support notifications were ending up in the wrong gmail folder. Would you like to discuss those issues on my Discord? There's an entire section for verified customers, or you can open a new ticket easily. Logging has already been suggested and I will be implementing it in the next update. As far as getting those messages, I am very curious as to the cause. It could be a plugin conflict or an edge case that I didn't take into account. In any case, Discord would be the best place to catch me as I'm online pretty much all the time during my waking hours. https://discord.nikhub.dev, or find me on Codefling/uMod/Lone, my DMs are open
  2. Hi there! I'm not sure I fully understand the issue, but I will ask nivex, the creator of both plugins, if he might! Hit me up on Discord so you will find out the answer as soon as I do!
  3. Nikedemos

    base not deploying

    Changed Status from Pending to Closed
  4. Nikedemos

    base not deploying

    So this invite link doesn't work? (That's what the redirect is) https://discord.com/invite/jYdnT2N Weird. No idea why, I never saw that message in Discord before. Since now it looks like it works after Forced Wipe, I suspect whatever plugin was causing this issue was updated? So for now, let's consider the issue solved unless, of course, you encounter it again! Thank you for your report and testing!
  5. Nikedemos

    base not deploying

    Changed Status from No Response to Pending
  6. Nikedemos

    base not deploying

    Oh I see! It might be an issue with your Pocket DImensions config related to CopyPaste - or a conflicting plugin. I have a few ways to test and remedy this, so please hit me up on Discord, as this is the best place to communicate as far as tech support goes. Sometimes I don't get any ticket notifications from here for hours! I'm on Codefling discord or you can join mine at https://discord.nikhub.dev
  7. Nikedemos

    base not deploying

    Changed Status from Pending to No Response
  8. Nikedemos

    base not deploying

    That sounds very vague! Are you talking about SkinBox? Vanilla chests work just fine. Are the chests you put the PD items inside from a plugin? If so, does the plugins serialize item.text? Hit me up on Discord so we can see what's up
  9. Awesome work spotting the bug! One of those edge cases I have missed! Yeah, it's better to have empty save files than wrong ones! Hit me up on Discord so I can send you a contributor invite to the Github repo - you deserve to take full credit for the fix!
  10. Version 1.0.19

    1,302 downloads

    Introduction Custom Entities is a framework meant as a hard dependency for other plugins to register their own Types of spawnable entities under arbitrary server-sided prefab names (e.g. `"/assets/custom/changeme.prefab"`). Developers can extend BaseEntity and BaseCombatEntity classes (using provided wrapper Types) with their own logic that’s supposed to provide more or less functionality than desired. Once spawned, those custom entities will network an existing vanilla prefab name to the clients - and that networked prefab name can even be switched to a different one dynamically during run-time. Custom prefab names are registered with the GameManager, GameManifest and StringPool. This means that any admin, plugin (like CopyPaste) or even the server command "spawn" will treat it just like vanilla entity prefabs would be treated, and that prefab will show up on the list of spawnable entity prefabs. As long as the plugin is still loaded in! This framework does all the heavy lifting associated with registering prefab names unregistering prefab names saving custom entities to plugin-specific, separate savefiles loading and spawning custom entities from plugin-specific datafiles addressing some nuances and edge cases for common case scenarios hiding the unorthodox hackery involved to make it work behind a comfortable curtain of abstraction so that the developers get to focus on the fun bits NOTE: This plugin utilises Reflection in 2 or 3 places (CTRL+F for the comments "//naughty reflection") in order to force the BaseEntity._prefabName field to its custom, registered prefab name, instead of the prefab name of the original entity it was based on. This field is private and changing its accessor to public leads to less than stellar results, according to WhiteThunder's experiments with patching Oxide. In my opinion there is no point in turning the entire plugin into a compiled extension for the sole purpose of addressing the BaseEntity._prefabName field without breaking the "unbreakable" rule of not allowing Reflection. Localization The plugin registers default messages in English. Find them in /oxide/lang/en/CustomEntities.json Permissions customentities.admin - Required to execute the `spawn_at`, `purge_prefab` and `purge_plugin` commands. Admin commands spawn_at <short prefab name> - spawn a new instance of a given entity by its short prefab name at the position of the executing admin’s head. Useful for spawning a vanilla or a custom entity when not looking at any solid colliders. You don’t need to provide the complete short prefab name - just the initial portion will do, as long as it’s unique. It’s only a wrapper for the vanilla `spawn` command, after all. purge_prefab <short prefab name>` - this command can also be executed from the server console/RCON or by a plugin. It will find and kill all entities currently spawned in with a matching short prefab name. Same name matching rules apply as above. CAUTION: this will kill given vanilla and custom entities alike and cannot be reverted. Only really meant for emergency debugging situations. There’s no safeguarding for this command apart from the required customentities.admin permission. You have been warned. purge_plugin <plugin name> similar to the command above and also requires the customentities.admin permission. The difference is that instead of filtering by prefab name, it kills all the entities registered by a certain dependent plugin. In case of the example plugin (see below), it will clear all the waypoints (and brushes). Data Custom Entities have a "take only memories, leave only footprints" approach to handling the game state. When a dependent plugin registers a custom prefab bundle, all the entity data from that bundle will be stored in its own, separate savefile under /oxide/data/CustomEntities/<PluginName>.sav This includes the custom entity instances as well as the purely vanilla entities somehow connected with the custom ones. We’re mainly talking about all the vanilla entities related to Items that could be stored/handled by the bundle savefile: held entities, sub entities, instance data subentities, all checked recursively. When a dependent plugin needs to spawn a vanilla entity - for example, to have it parented or referenced later by Net.Id to a custom one, a built-in API method allows the developers to permanently place those entities in the same custom savefile as the one belonging to the plugin. This custom savefile is populated (if there’s anything to save to it, that is) every time a normal server save happens - so usually during set intervals and on server shutdown. It’s also saved when the relevant dependent plugin is unloaded. During plugin unload, all the instances of custom entities (and any vanilla entities associated with them) are removed from the world, as if they never existed. Then the savefile can be safely removed/copied/replaced without affecting anything else or wiping the vanilla save. The custom savefiles are serialised in a format similar to vanilla ones, utilising memory streams and native ProtoBufs. This allows a CustomBaseEntity or a CustomBaseCombatEntity implementation to override Save and Load methods to take advantage of the vast collection of native serialisable ProtoBufs. In addition to this, custom entities inside of a savefile can have any extra data about them serialised and deserialised using BinaryWriters and BinaryReaders. The Net.ID of the last known Community Instance is also stored in the datafile. On plugin load, it will try and detect if the one currently present on the server matches it. If it doesn’t, which is usually caused by wiping a savefile manually or restarting the server with a different map, it won’t load any stale entities and instead generate a new savefile under the same name. Just like in vanilla, whenever an existing savefile is about to be overwritten, its contents are copied and shifted to iterative backups. The number of those backups stored is the same as the current vanilla one - by default it’s 2, but it can be controlled with the server.saveBackupCount convar. HOW TO: Example dependent plugin The best way to convey how to utilise Custom Entities as a dependency for your plugins is by having a look at the provided example, which can be viewed/downloaded from Custom Entities on GitHub This example features Waypoints, a collection of nodes in 3D space, grouped into graphs that can dynamically join and split.When a player puts a Map Item in their belt and switches to it, it activates a brush tool that allows the player to create/erase Waypoints in front of their eyes. Left-click to place a new waypoint where you’re looking, right-click to erase the one you’re currently looking at (if there is one). New Waypoints can only be placed if they don’t collide with other Waypoints or the terrain. When a waypoint is placed, it will automatically connect to other waypoints in the radius of 30 metres - provided there’s a direct, unobstructed line of sight on a pretty arbitrarily chosen layer mask, using a spherecast which is 0.5 m thick. The graphs currently serve no purpose, but in the future I could see it as a way to visually edit traversable 3D navigation meshes. Both the Waypoint and the Waypoint Brush are custom entities. The licence of the example is the same as the licence of Custom Entities - that is, MIT.
    Free
  11. Hi there! I'm sorry for only responding today, my private life has been a bit hectic recently. Thanks for letting me know about the issue with BackPackPro. I'm assuming you're on version at least 1.0.6 or 1.0.7 of PD? The solution that the free Backpacks use that make it work is that the free version of Backpacks serialises the item.text property (where the connection to a pocket dimension is stored), and BackPackPro might not (that's the only explanation why it wouldn't work, so it's a safe assumption). Since I down own BackPackPro, I'm unable to verify this - would you be able to DM me on Discord so we can test the theory and possibly patch up BackPackPro? At the same time, we can see what's up with the beds, as I'm not entirely sure I understand the issue. Thank you!
  12. Nikedemos

    GUIShop

    Changed Status from Pending to Closed
  13. Nikedemos

    GUIShop

    Hello! Sorry just got to your ticket. Glad you sorted it. Was gonna say, any plugin that supports defining an item by at least shortname(or item id) and skin id pair will produce a valid, fresh pocket Dimension when given to the player. If you got any more questions, feel free to open another ticket.
  14. Nikedemos

    clone boxes

    Changed Status from Pending to Not a Bug
  15. Nikedemos

    clone boxes

    Hello! No, it's not possible, as it happens automatically when a box/dimensions are killed
  16. Nikedemos

    clone boxes

    Hello! No, currently there's no way to automatically clone entire dimensions down to a singular box that contains it - but as an admin, you still have the option to /copy an existing dimension while inside of it, save it as a new CopyPaste file (and edit the CopyPaste *.json file so that the portal entity is removed from it - that's important!) and assign it to a certain unused Skin ID for a small box in your config. Then you can just do /pd.give [your copypaste name] after a reload. Alternatively, if you don't want to add it to the config, you can just /paste it in the "overworld" and use /pd.convert to get a clone in a new, unskinned box, just this once. Hit me up on Discord (Nikedemos#1337, I'm on CF) if you still have questions/issues. There's a lot of helpful stuff on the product page, also related to CopyPaste.
  17. It looks like there's still an issue on CF with caching on chromium-based browsers - if anybody has the same issue, i.e. the download link doesn't fetch the last version 1.0.5, please report it to the staff!
  18. All the issues have been resolved in 1.0.5, remember to type /pd.lostnfound to deal with the old boxes - thank you for your report!
  19. Nikedemos

    Box got destroyed

    Changed Status from Pending to Closed Changed Fixed In to 1.0.5
  20. Nikedemos

    Box got destroyed

    Hello! Try the 1.0.5 update, it was sorted there over 12 hours ago! Remember, all the boxes that failed to deploy will be now in your /pd.lostnfound
  21. Nikedemos

    error after update

    Changed Status from Pending to Closed Changed Fixed In to 1.0.5
  22. Nikedemos

    error after update

    Hi there! Sorted in 1.0.5 - get it while it's fresh. My bad! Thank you for your report, sorry about the troubles, make sure you type /pd.lostnfound to kill all the old dimensions or give them back to their respective owners!
  23. Nikedemos

    error after update

    Hello! I'm assuming you've updated both Pocket Dimensions and Copy Paste to the latest versions included in the zip file? Nobody reported anything like that happening on staging yesterday, so I'm wondering if this is a new issue that wasn't a problem on staging, but is now. Hit me up on Discord: Nikedemos#1337, my DMs are open, let's see what's up
  24. Nikedemos

    Bug perm deploy.pickup

    Changed Status from Pending to Gremlins Changed Fixed In to 1.0.3
  25. Nikedemos

    Bug perm deploy.pickup

    Thank you! What a keen eye! It is as you say indeed. The permission USED to have the "player" infix in it in the *.cs file but somehow it got deleted. Oh well. Gonna leave it without the "player" for now. Edited the page to reflect this

About Us

Codefling is the largest marketplace for plugins, maps, tools, and more, making it easy for customers to discover new content and for creators to monetize their work.

Downloads
2.5m
Total downloads
Customers
11.2k
Customers served
Files Sold
160.7k
Total sales
Payments
3.5m
Processed total
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.