VoxelSniper - Long Range Terrain Editing [v8.0.0] [1.8.9 // 1.10.2]

Well if you were paying any attention you’d see that I’ve been updating it for the past couple days. Its mostly been waiting on the changes I merged to sponge last night.

Now that that is merged you can run the latest version of sniper on SpongeForge 1686+ or SpongeVanilla 108+

It is a straight port of VoxelSniper version 5 to Sponge 1.10.2, All brushes are implemented with the exception of the stencil list brush.

Notable changes over the last version (Version 5.171.0)

  • Brush sizes are now floating point, this removes the need for any true circle arguments on brushes.
  • /v and /vr now take a block type or block state id not a number. This is for technical reasons but I will soon add an alias system so that you can alias names for the block types and I’ll add a config option for adding aliases for all the old numerical ids soon. The blocktype ids are just the block name, the blockstate ids are name[key=value] so for example stone[variant=granite]. You can of course still just type /v while looking at a block and it will set your material to that block.
  • The stencil brush now saves as schematics (currently in the sponge schematic format but I’ll add config for using legacy MCEdit schematics as well). If you have old stencils that you want to migrate place the stencils folder in /config/voxelsniper and it will be auto-migrated on server start.
  • /vi and /vir/ are currently unused as are the ink performers, however I have some ideas to try with placing/replacing by blockstate key which might be interesting.
  • Almost every brush was completely rewritten from scratch so there should be an across the board performance increase from better programming practices.
  • Probably more things that I’m forgetting.

TL;DR Its here: http://ci.voxelmodpack.com/view/VoxelSniper/job/VoxelSniper/lastSuccessfulBuild/artifact/build/libs/VoxelSniper-8.0.0-SNAPSHOT.jar

7 Likes

So, is there no support for 1.8.9 - 4.2.0-BETA-1666? As that is the highest version for 1.8.9 SpongeForge.

I could make a build targeting 1.8.9 if there is interest but it would be without certain features such as the stencil brush which relies on features added only to the 1.10.2 version of sponge.

2 Likes

I’ve backported a version to spongeapi 4.2.0-SNAPSHOT (the latest 1.8.9 builds), it can be found here: http://ci.voxelmodpack.com/job/VoxelSniper-1.8.9/ It includes all featues of the 1.10.2 build except the stencil brush.

2 Likes

OK sorry, it was just because the download links were broken.

I can’t use the errode options at Y11 or lower, functionality starts at Y12.
This error shows up in the console when I try;

[details=Summary]
09.09 17:08:25 [Multicraft] Skipped 36 lines due to rate limit (60/s)
09.09 17:08:25 [Server] Server thread/ERROR [voxelsniper]: Error performing brush Erode
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: org.spongepowered.api.util.PositionOutOfBoundsException: Position is out of bounds: expected in range (-30000000, 0, -30000000) to (29999999, 255, 29999999) but got (-861, -9, -651)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.world.World.checkBlockBounds(World.java:694)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.world.World.getBlock(World.java:363)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at com.thevoxelbox.voxelsniper.brush.terrain.ErodeBrush.erosion(ErodeBrush.java:78)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at com.thevoxelbox.voxelsniper.brush.terrain.ErodeBrush.arrow(ErodeBrush.java:207)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at com.thevoxelbox.voxelsniper.brush.Brush.perform(Brush.java:74)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at com.thevoxelbox.voxelsniper.Sniper.snipe(Sniper.java:247)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at com.thevoxelbox.voxelsniper.VoxelSniperListener.onPlayerInteract(VoxelSniperListener.java:51)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.common.event.listener.SecondaryListener_VoxelSniperListener_onPlayerInteract63.handle(Unknown Source)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:201)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:184)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:229)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:214)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:129)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventSecondary(SpongeCommonEventFactory.java:633)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventSecondary(SpongeCommonEventFactory.java:628)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:571)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:59)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.func_148833_a(SourceFile:10)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at java.util.concurrent.FutureTask.run(FutureTask.java:266)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.util.Util.func_181617_a(SourceFile:44)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481)
09.09 17:08:25 [Server] Server thread/INFO [STDERR]: [com.thevoxelbox.voxelsniper.Sniper:snipe:251]: at java.lang.Thread.run(Thread.java:745)[/details]

Also whenever I try to do item ID’s (/v 2 for example) it says material not found. I can look at the material and do /v , or type the item name though. Same with /vr.

Oh, also the /b over d(number) is a bit odd now, because it also paints over water, and leaves, was wondering if that was on purpose or if there’s a way around it?

First issue: looks like some bounds checks that I forgot.

Second issue: is because sponge doesn’t have numerical ids (since minecraft doesn’t either post 1.7) you have to type in the id of the block or state. Although an aliasing feature is planned sometime in the future.

Third issue: I’ll take a look at.

Fair enough, thank you very much :slight_smile:

I made a temporary release Release Version 8.0.0 for Sponge 5.0.0 (MC 1.10.2) · TVPT/VoxelSniper · GitHub here since the CI is down for the time being (drive fried itself or something).

2 Likes

I’d recommend putting a notification about this in the OP so people actually see it :wink:

/b e melt brush doesn’t work on the latest 8.0.0 snapshot.

    Minecraft: 1.10.2
    SpongeAPI: 5.0.0-SNAPSHOT-c7b2063
    SpongeForge: 1.10.2-2052-5.0.0-BETA-1680
    Minecraft Forge: 12.18.1.2052
[01:03:07] [Server thread/ERROR] [Sponge]: Could not pass InteractBlockEvent$Secondary$MainHand$Impl to Plugin{id=voxelsniper, name=VoxelSniper, version=8.0.0, source=/minecraft/mods/VoxelSniper-8.0.0-SNAPSHOT.jar}
java.lang.NoClassDefFoundError: org/spongepowered/api/world/schematic/BlockPaletteTypes
       	at com.thevoxelbox.voxelsniper.util.BlockBuffer.<init>(BlockBuffer.java:36) ~[BlockBuffer.class:?]
       	at com.thevoxelbox.voxelsniper.brush.terrain.ErodeBrush.erosion(ErodeBrush.java:67) ~[ErodeBrush.class:?]
       	at com.thevoxelbox.voxelsniper.brush.terrain.ErodeBrush.powder(ErodeBrush.java:214) ~[ErodeBrush.class:?]
       	at com.thevoxelbox.voxelsniper.brush.Brush.perform(Brush.java:78) ~[Brush.class:?]
       	at com.thevoxelbox.voxelsniper.Sniper.snipe(Sniper.java:249) ~[Sniper.class:?]
       	at com.thevoxelbox.voxelsniper.VoxelSniperListener.onPlayerInteract(VoxelSniperListener.java:52) ~[VoxelSniperListener.class:?]
       	at org.spongepowered.common.event.listener.MainHandListener_VoxelSniperListener_onPlayerInteract41.handle(Unknown Source) ~[?:?]
       	at org.spongepowered.common.event.RegisteredListener.handle(RegisteredListener.java:95) ~[RegisteredListener.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:349) [SpongeModEventManager.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:332) [SpongeModEventManager.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:377) [SpongeModEventManager.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.mod.event.SpongeModEventManager.post(SpongeModEventManager.java:362) [SpongeModEventManager.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.common.SpongeImpl.postEvent(SpongeImpl.java:138) [SpongeImpl.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventSecondary(SpongeCommonEventFactory.java:272) [SpongeCommonEventFactory.class:1.10.2-2052-5.0.0-BETA-1680]
       	at org.spongepowered.common.event.SpongeCommonEventFactory.callInteractBlockEventSecondary(SpongeCommonEventFactory.java:262) [SpongeCommonEventFactory.class:1.10.2-2052-5.0.0-BETA-1680]
       	at net.minecraft.server.management.PlayerInteractionManager.handler$onProcessRightClick$0(PlayerInteractionManager.java:92) [lv.class:?]
       	at net.minecraft.server.management.PlayerInteractionManager.func_187250_a(PlayerInteractionManager.java) [lv.class:?]
       	at net.minecraft.network.NetHandlerPlayServer.func_147346_a(NetHandlerPlayServer.java:710) [me.class:?]
       	at net.minecraft.network.play.client.CPacketPlayerTryUseItem.func_148833_a(SourceFile:32) [jk.class:?]
       	at net.minecraft.network.play.client.CPacketPlayerTryUseItem.func_148833_a(SourceFile:9) [jk.class:?]
       	at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:118) [PacketUtil.class:1.10.2-2052-5.0.0-BETA-1680]
       	at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39) [fl$1.class:?]
       	at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) [fl$1.class:?]
       	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:1.8.0_92-internal]
       	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_92-internal]
       	at net.minecraft.util.Util.func_181617_a(SourceFile:45) [h.class:?]
       	at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:668) [MinecraftServer.class:?]
       	at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:387) [ld.class:?]
       	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:613) [MinecraftServer.class:?]
       	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:471) [MinecraftServer.class:?]
       	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92-internal]

You need to use a more recent SpongeForge build, you’re 80 builds behind. Use at least 1686

Any word on stencil lists? I used that feature to death on earlier releases.

I’ve been experiencing some problems with VoxelSniper with recent API 5.X builds. Specifically, all brushes seem to work only within actual touching range - if I aim for anything farther away, I just get console errors. (It’s on the SCS, I’ll track down an error log if you need).

Im experiencing the same as @Inscrutable.

Do we know a previously working version? Looking over the builds, 1686 is still API 5.X - Is it API 5.X that is causing the issue, or just a change in recent versions?

Hi deamon excuse me replying to an old comment kinda set a account up so i can fix this as i do not understand it at all.

when i do /v 2 (it doesn’t work)
but when i do /v brush 2 its keeps asking for /v [sniper] [material]
see here i want to do the command /v overlay (/v over) but it doesn’t exist)
also what does sniper mean in the above error command?

VS now uses the new Minecraft block names, not numerical IDs. Try using /v minecraft:stone, or just look at a stone block and use /v.

To change brushes, one would normally use /b <brushname>. Give it a try.

ah ok that makes more sense but is their a command to do the overlay feature or are you working on implementing that into voxelsniper. It would be cool to add as it essential to have if making awesome terrain

Download link does not work :frowning: on VoxelSniper 8.0.0 (Sponge 1.10.2 build)

Just released VoxelSniper 8.1.0 updated for the latest 6.0.0 sponge changes, it will still work on 5.1.0 as well though.

VoxelSniper 8.1.0 Release Here

This releases specifically changes to make use for sponge’s new InteractItemEvent and should fix recent issues with the tools not working at range.

1 Like