GithubHelp home page GithubHelp logo

eco-worldedit's People

Contributors

stallef avatar tavren avatar thekye avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

zachbora nebouh

eco-worldedit's Issues

Add a /redo command

It can happen where you /undo one too many times and are stuck with the consequences of your mistake. Would be very handy to see a /redo as well to address that.

get block suggestion

just use CommandsUtil.ClosestMatchingEntity to find the best item from a string. Then narrow it to take only blocks. This will make your /set block comand act the same way /give does

Paste - Issues

when pasting, the pasted object should be pasted in the direction the player is facing,
When pasting, the lowest point of the pasted object should be on the level or 1 level below where the player is standing at the time of pasting

Pasting doesn't delete plants trees

[QoL] increasing the usability of command /import

if player did error in import name Plugin must show files list what can be import
files list must show information from files

  • add player name, steam id and SLG name to the EcoBlueprint as separate section AuthorInformation
  • keep it after import file and provide for exporting, overwrite with copy+export
  • handle files without information as Unowned
  • show list of files in the infopanel (name, creation date, filesize, eco version, author)

No interaction with trees

explore the issue of detecting and interacting with trees
(trees have script in model for interacting)

Commands description

Not all commands have description in game, should be fixed so /we or /worldedit commands prints readable list
README needs update for list of commands and arguments, probably it need better formatting.
Would be good to localize WorldEdit.

[Doc] Wiki

tasks

  • use the built-in wiki
  • remove commands from Readme and add link to Wiki
  • add graphic illustrations for command

[QoL] add commands for select claim

add new commands:

  • /we selclaim (/selclaim) - select current claim here stand player on ground level
  • /we addclaim (/addclaim) - add current claim here stand player to select before
  • /we expclaim (/expclaim) - expands to nearby claim in provided or looking direction

these commands will greatly simplify the life of players using command /walls search claim borders and road builders

Сompression of export files

Objective: to study compression methods and choose the most suitable one for use on a game servers (minimum impact on the CPU)

Expanding /setpos1 and /setpos2

Expanding the functionality of chat commands /setpos1 and /setpos2

  1. add arguments for coordinates (x,y,z)
  2. if arguments empty to use player coordinates how in old version

description: the player can have a detailed construction scheme and he can set any coordinate on his own without tools or moving around the map.

[CUI] Selection highlight

Would it be possible to make the selection when using the wand highlight? Possibly similar to how land claims do to show the selection visually?

Improvement of paste creations

Probably be nice to improve /paste or use similar command to paste creation in front of player not matter how far it was be copied.
Possible solution: use min position (corner) of selection as an anchor (0, 0, 0) and all blocks relatively to it, also store relative position of that anchor to the player.

WE localization

  • Commands Description
  • Error messages
  • Chat messages about end command work

Schematic Folder Location

Does it make sense to move the "Schematics" folder from ../Schematics to ../Configs/Mods/WorldEdit/Schematics instead of the base directory like other mods so that hosting providers don't block access?

Check the compatibility

Check the compatibility of the mod releases with the versions of the game and make a table

Flipping

add command /flip [direction]

horizontal and vertical flip

How to /set ashpalt roads?

How do you use the /set command to make asphalt roads? when using the name of the block it spawn the inventory version of it

Incompatible with Elixr Mods - Decorative Pack

Reported by Hudson#0476 in Discord

[14:35:16.215] [42] [Error] [Eco] Newtonsoft.Json.JsonSerializationException: Error converting value "Eco.EM.Windows.PinkGlassCubeBlock, em-windows, Version=2.3.0.0, Culture=neutral, PublicKeyToken=null" to type 'System.Type'. Path 'Blocks[0].BlockType', line 1, position 240.
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.ResolvePropertyAndCreatorValues(JsonObjectContract contract, JsonProperty containerProperty, JsonReader reader, Type objectType)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObjectUsingCreatorWithParameters(JsonReader reader, JsonObjectContract contract, JsonProperty containerProperty, ObjectConstructor`1 creator, String id)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonSerializer.Deserialize[T](JsonReader reader)
   at Eco.Mods.WorldEdit.Serializer.WorldEditSerializer.Deserialize[T](Stream stream)
   at Eco.Mods.WorldEdit.Serializer.WorldEditSerializer.Deserialize(Stream stream)
   at Eco.Mods.WorldEdit.Commands.ImportCommand.Execute(WorldRange selection)
   at Eco.Mods.WorldEdit.Commands.WorldEditCommand.Invoke(WorldRange selection)
   at Eco.Mods.WorldEdit.Commands.WorldEditCommand.Invoke()
   at Eco.Mods.WorldEdit.WorldEditCommands.Import(User user, String fileName)
System.ArgumentException: Could not cast or convert from System.String to System.Type.
   at Newtonsoft.Json.Utilities.ConvertUtils.EnsureTypeAssignable(Object value, Type initialType, Type targetType)
   at Newtonsoft.Json.Utilities.ConvertUtils.ConvertOrCast(Object initialValue, CultureInfo culture, Type targetType)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.EnsureType(JsonReader reader, Object value, CultureInfo culture, JsonContract contract, Type targetType)

Add Enable Debug Command

Add a new Command: Enable WE Debugging

This should record every action to a log file (should note the file could get really big) That is performed using world edit for debugging purposes

Schematic output

The schematics ouput are un reliable, they don't include world objects and could be better improved,

use the em framework file manager to better output schematics and allow for world objects,

optional:
allow storage based objects to keep their storage items?

[QoL] /distr command refactoring

  • show result in InfoPanel
  • add icons for blocks in list
  • use localization blocks names in list
  • add information about full space in selection
  • add parameret for save txt with result

Treasury not removed by undo

Eco Version: 9.3.6
Plugin Version: 2.0.1

STR:

  1. Move 20 blocks underground (may not be needed).
  2. Import attached schematic.
  3. Execute the undo command.
  4. Observe that the treasury object in the schematic has not been removed by the undo command.

ShadowGV.zip

Blueprints uploads

Make somewhere for schematics to be uploaded with screenshots and descriptions,

like an archive kinda thing where people can browse builds, download and upload

  • forum
  • mod.io

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.