kevindagame / voxelsniper-reimagined Goto Github PK
View Code? Open in Web Editor NEWThe premier long-distance brush editor for Minecraft, reimagined!
License: GNU Lesser General Public License v2.1
The premier long-distance brush editor for Minecraft, reimagined!
License: GNU Lesser General Public License v2.1
Describe the bug
The set brush seems to not properly clear it's cache after the first use
To Reproduce
Steps to reproduce the behavior:
Describe the bug
There are 3 problems with the GenerateTreeBrush where issues 1 and 2 are kinda related.
Root parameters (rootMin, rootMax, rootLength and rootFloat (I don't know what this one is supposed to do) are supposed to change correctly the roots behavior of the generated tree.
No matter what I change I only get either really really thin straight roots going to 4 directions, or 1 root block in 4 corners (Issue is circled in red).
I also can make the roots competely disappear when lowering rootLength.
The whole problem might be related to the rootMax parameter seemingly being backend-limited to 3.
I can set it to 50 but when using rootMin it auto limits itself to 2 to not exceed maxHeight (which is supposed to be 50).
When using minHeight and maxHeight, I'm also somehow backend-limited to a minHeight of 14 and a maxHeight of 19.
We can see this because minHeight and maxHeight auto limits themselves even when the values are supposed to be correct.
When generating a rather big tree, the leaves are not connected close enough to the wood and thus are falling (Issue is circled in blue).
The "branch" don't put any wood in it, hence the issue when having long branches (branchLength parameters).
Suggested improvement for the third issue:
Let people choose among all blocks of the game when using Leaves and Wood parameters ?
Don't limit them to woods materials and leaves materials only (allow players to edit metadata of the block maybe, this way we would be able to specify [persistent=true] and have no decay on leaves)
Though this wouldn't fix the base issue where branches are supposed to be made of the tree-material. Here, they are generated as 100% of the leaves material
Expected behavior
Screenshots
see here
Desktop (please complete the following information):
Additional informations
I'm Shook#0781 on Discord if you need more informations. I will answer faster here
MessageType is scheduled for removal
Describe the bug
The /performer doesn't recognize polybrushes as performer brushes
Expected behaviour
The command should check if it is a polybrush and if yes, it should check if it has a performer property
The current implementation does not use the not so new 3d biomes added in 1.15
Add multiple materials to voxelreplace
From the comment, it looks like this is supposed to check if the block is solid? Would Material#isSolid work here?
Also: how are water and snow considered solid blocks ๐ฎ
Originally posted by @Lennart99 in #30 (comment)
randomise blocks easily on a brush
Describe the bug
/B e smooth apparently makes an air ball
Desktop (please complete the following information):
This doesn't make much sense to me, since you never really want to get the (String) handles from the class, but the other way around is necessary every time another brush is selected
[18:58:44] [Server thread/INFO]: [VoxelSniper] Enabling VoxelSniper v8.1.1
[18:58:45] [Server thread/ERROR]: Error occurred while enabling VoxelSniper v8.1.1 (Is it up to date?)
java.lang.NoSuchMethodError: org/yaml/snakeyaml/LoaderOptions.setProcessComments(Z)V (loaded from file:/var/directory_serv/minecraft_381837/cache/patched_1.16.5.jar by jdk.internal.loader.ClassLoaders$AppClassLoader@798c5748) called from class com.thevoxelbox.voxelsniper.util.YamlConfiguration (loaded from file:/var/directory_serv/minecraft_381837/plugins/VoxelSniper-8.1.1.jar by PluginClassLoader{plugin=VoxelSniper v8.1.1, pluginEnabled=true, url=plugins/VoxelSniper-8.1.1.jar}).
at com.thevoxelbox.voxelsniper.util.YamlConfiguration.getYaml(YamlConfiguration.java:25) ~[?:?]
at com.thevoxelbox.voxelsniper.util.YamlConfiguration.(YamlConfiguration.java:50) ~[?:?]
at com.thevoxelbox.voxelsniper.util.Messages.load(Messages.java:367) ~[?:?]
Describe the bug
BiomeBrush and BiomeBallBrush are not undoable
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The brush should be undone when trying to undo
Desktop (please complete the following information):
Additional context
Undo should be abstracted and have subclasses with their own undo behaviour
Describe the bug
When the version is for example set to 8.7.0-dev, the VersionChecker will throw a numberformatexeption
Describe the bug
I download the plugin on my spigot server in 1.19.3 and the server doesn't recognize the plugin. (I write /plugins in the console)
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I want to have voxel sniper in my server
Screenshots
Desktop (please complete the following information):
/undo throws error while /undo KevDaDev (or your username) works correctly
This would allow for example easy gradients on a ball brush for terraforming
Examples: ExtrudeBrush, PullBrush, OceanBrush, FlatOceanBrush, ErodeBrush
Remove or new keybind?
Hi,
Since VoxelSniper 8.4.0, I couldn't load EcoEnchant and VoxelSniper at the same time on my Paper server 1.19.3.
To Reproduce
Expected behavior
To load EcoEnchant plugin.
Desktop:
Additional context
I didn't have this error before VoxelSniper 8.4.0.
server log/crash report
https://pastebin.com/h8Gxi35G
Thanks for reading me
Dont really like this passing around of 'airFound' maybe something like this would be better:
airFound = checkBlock(world, x + 1, y, z ) || airFound
Originally posted by @Lennart99 in #82 (comment)
This was a feature of the old plugin that has seemingly been removed by ervinchai, the past maintainer. If we were to implement this we would have to redo the file structure since the old version uses binary with item ids. I suggest using json for this
https://www.mcmiddleearth.com/community/wiki/voxel-reference-guide-tutorials/
When this part of the plugin worked I would used the command /b sl oak which would select the custom oak stencil. when I clicked a targeted block with the gun powder the custom oak tree as defined by the stencil would be place on top of the targeted block. because there was more than one oak tree file schematic in the stencil list defined oak tree, it randomizes which one is placed when i click the targeted block. I have compressed the stencils and stencilLists folders into .zip files
See examples below. Stencils can (as far as I know) only be opened with a hex editor
stencils.zip
StencilLists.zip
Is your feature request related to a problem? Please describe.
Support for worldguard & plotsquared
Describe the solution you'd like
Currently, I have a worldguard/plotsquared setup on a creative server and it'd be great if voxelsniper also adheres to the plot permissions of each player (current situation allows players to grief roads with voxel).
This occurs in master, as well as abstraction
Also, since we are on topic on brushes, anyway to make a "config" of "Natural" blocks to add and remove so you don't have to add a full list, on what to avoid. this is for
/b eraser
https://www.spigotmc.org/threads/voxelsniper.571866/#post-4532766
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The brush should only fire once
Block ids are the old minecraft system of identifying blocks. This was removed in MC 1.13. Voxelsniper currently translates these old ids into the new blocks, but this list is outdated, does not always return the correct block in all situations and does not include any blocks since 1.13. Because of this, and because it might take some time to fix all the inconsistencies, we ask for feedback on whether this should be removed. Any comment is greatly appreciated.
Describe the bug
Voxelsniper throws a NPE when a player without op/permission joins the server.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
No exception being thrown by voxelsniper
Desktop (please complete the following information):
Describe the bug
For example snipe brush will repeat previous actions whenever you snipe
Describe the bug
Performance issues in version 8.2.0
To Reproduce
Steps to reproduce the behavior:
Expected behavior
It should be faster
Desktop (please complete the following information):
According to Zyra it works on voxelsniper 6.1.2 on 1.17
hello , I'm testing the new version (1.19)with the voxel sniper , I'm brushing walls (eg stone in granite) , with the usual command /b b p cm , he places me new blocks (he does not convert them he increases them ). My question are there commands that have been replaced ? maybe I'm also completely wrong with the question here , sorry if so .
Doesnt accept this: /vvar height 2
Hello, as I mentioned earlier today on discord, I'd like to add a feature that would allow me to have no brush selected on my arrow/gunpowder at all.
This is the reason why I want this, copied from discord: "because the default brush is set to "snipe" and some admins that have perms for voxelsniper will accidentally delete blocks, or even worse chests while opening them and having an arrow in their hand, not realizing what's about to happen lol"
Description:
Using a brush while the player is above the world height limit will truncate the raycast and use the brush as if the targeted block was exactly at the worldheight.
Repro steps:
Expected:
Ball appears on the ground
Actual:
Ball appears in the air at the height limit.
Minecraft version: 1.19.2
Voxelsniper version: 8.1.3
Server/client software: Spigot
Describe the solution you'd like
A brush that places down snow layers. If there already is a snow layer, it should add to that.
It should only try to place snow layers on (full, solid?) blocks with a block below it,
Brush size: The size of the affected area
1st image:
so it would place snow like this. It would "see" (sorry... not that smart with how plugins work...) that there is a 7 block gap in the rear one, so it would place a 7 high snow, then a 6 high, etc etc to be smooth. Or the middle one, it would see its only 6 and skip a level to compensate. And so on so forth. It would leave 1 block at the end to be a snow block to improve the smoothness.2nd img/3rd:
I think it would also be important for it to see that if there are two blocks across from each other it would do something like the second image and not like the img.No idea if this makes sense
Image
idk if its possible but my suggestion is that within the brush size it will try to go from something like this in the 1st img to one click to the second imageand i made it simple to show but I think it would be really cool if it could figure it out itself on how it would work so you could use it on a gentle slope for example and it would be able to sort it out to be smooth
I think it would also have to see what snow is already place down so if you were running the brush along a slope it wouldn't conflict with the last time the brush was used if they overlapped if that makes sense?
A system that moves configuration files to a backup folder on voxelsniper update
I'm aware that it won't affect existing installs. That's fine. I think that we should make a migration setting that moves the old config (and lang files) to a backup folder so they are recoverable in any case, which should fix the existing server problem
Originally posted by @KevinDaGame in #140 (comment)
Code right now does almost the same thing 8 times in a row, without using loops, resulting in bad code.
Rot2DBrush: sometimes still goes wrong (places extra blocks, probably rounding error or something, also present in old version)
Rot2DvertBrush: Same issue as above
Rot3DBrush: doesn't seem to work at all
Additionally, we should look into abstracting this in a way to prevent duplicate code. The code for the 2d brushes, for example, is almost identical. Creating a generic rotation method, that can be used by all three brushes, might be a good start.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.