Mods / Double Slabs
Author: DanaCraluminum
Side: Both
Created: Jun 14th at 11:44 AM
Last modified: Jun 17th at 7:23 AM
Downloads: 497
Follow Unfollow 28
Latest file for Various v1.19.x:
DoubleSlabs-v0.1.1.zip
1-click install
Ever wanted to combine two slabs together without chiseling? Well, now you can!
Wooden, stone, ceramic, even glass! All kinds of slabs can be easily combined together!
Combined slabs use the first placed slab as main block, thus there are no new blocks, items or any absurd conversion recipes!
They affect performance as much as chiseled block from exactly the same slabs.
Last added slab has its own handling of interactions when is selected. It uses flipped orientation of original slab.
I don't care that these can be chiseled in vanilla.
The mod is practically identical to Double Slabs minecraft mod, except I wrote it entirely from scratch since I have absolutely no idea where to find their source code.
Features:
- Combine two slabs
- Supports all vanilla slabs
- Supports slabs from all mods (including Bricklayers)
- Cellar support
- Separate selections and collisions for each combined slab
- Break only slab you're looking at
- Middle-click in creative gives only slab you're looking at
- Attach anything to combined slabs
- Combined slabs don't let liquids pass through, but can keep them inside
Roadmap:
- Chiseling support
- World edit support
- Use Block class instead BlockBehavior
Known issues:
- Combined slab sounds are incosistent in creative game mode
- Glass rendering
- Combined slabs drop last slab when chiseled or moved with worldedit
If you love my work, you can support me on Patreon, I would greatly appreciate it ❤️, since I invest significant amount of time into modding. Donations encourage me to make new mods and update old ones more often.
Version | For Game version | Downloads | Release date | Changelog | Download | 1-click mod install* |
---|---|---|---|---|---|---|
v0.1.1 | 311 | Jun 17th at 7:23 AM | Show | DoubleSlabs-v0.1.1.zip | Install now | |
v0.1.0 | 186 | Jun 14th at 6:37 PM | Show | DoubleSlabs-v0.1.0.zip | Install now |
I'm also seeing issues with horizontal slabs, it happens with all cobble types I've encountered (slate, shale, and andesite). Happens when I purposefully select "horizontal" before placing them.
DanaCraluminum yup, it has happened multiple times. i can't tell what exactly causes it. they start out normal when i load the world but i'll be doing my thing, and then notice that the red shingle slabs on my windmill have gone invisible again. replicated the crash a second time, but otherwise i have just let them stay invisible.
invisible horizontal slabs (they were specifically red shingle) and trying to break one crashed my game:
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.SystemRenderDecals.UpdateDecal(BlockDecal decal) in VintagestoryLib\Client\Systems\Render\RenderDecals.cs:line 251
at Vintagestory.Client.NoObf.SystemRenderDecals.AddBlockBreakDecal(BlockPos pos, Int32 stage) in VintagestoryLib\Client\Systems\Render\RenderDecals.cs:line 244
at Vintagestory.Client.NoObf.SystemRenderDecals.OnPlayerBreakingBlock(BlockDamage blockDamage) in VintagestoryLib\Client\Systems\Render\RenderDecals.cs:line 207
at Vintagestory.Client.NoObf.ClientEventManager.TriggerBlockBreaking(BlockDamage blockDamage) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 382
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.ContinueBreakSurvival(BlockSelection blockSelection, Block block, Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 795
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 444
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 89
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 186
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 809
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1013
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame_Patch0(ClientPlatformWindows this, FrameEventArgs e)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 324
at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 128
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
gndrneutralnoun Thank you
Bless you, Dana. You're the real MVP.
Horsekoch Fixed
Game crashes when right-clicking on a vertical slab, with an empty hand.
Game Version: v1.19.8 (Stable)
...
System.NullReferenceException: Object reference not set to an instance of an object.
at DoubleSlabs.ItemSlotSlab.CanTakeFrom(ItemSlot sourceSlot, EnumMergePriority priority) in D:\VSCode\Repos\Modding_VintageStory\DoubleSlabs\src\Inventory\ItemSlotSlab.cs:line 13
at Vintagestory.API.Common.ItemSlot.TryPutInto(ItemSlot sinkSlot, ItemStackMoveOperation& op) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 229
at Vintagestory.API.Common.ItemSlot.TryPutInto(IWorldAccessor world, ItemSlot sinkSlot, Int32 quantity) in VintagestoryApi\Common\Inventory\ItemSlot.cs:line 176
at DoubleSlabs.BEBehaviorDoubleSlab.TryPut(ItemSlot slot, IPlayer player) in D:\VSCode\Repos\Modding_VintageStory\DoubleSlabs\src\BlockEntityBehavior\BEBehaviorDoubleSlab.cs:line 89
at DoubleSlabs.BlockBehaviorDoubleSlab.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel, EnumHandling& handling) in D:\VSCode\Repos\Modding_VintageStory\DoubleSlabs\src\BlockBehavior\BlockBehaviorDoubleSlab.cs:line 73
at Vintagestory.API.Common.Block.OnBlockInteractStart(IWorldAccessor world, IPlayer byPlayer, BlockSelection blockSel) in VintagestoryApi\Common\Collectible\Block\Block.cs:line 1374
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.TryBeginUseBlock(Block selectedBlock, BlockSelection blockSelection) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 885
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.HandleMouseInteractionsBlockSelected_Patch1(SystemMouseInWorldInteractions this, Single dt)
at Vintagestory.Client.NoObf.SystemMouseInWorldInteractions.OnFinalizeFrame(Single dt) in VintagestoryLib\Client\Systems\Player\MouseInWorldInteractions.cs:line 89
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 186
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 809
at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 1013
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 676
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 651
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 88
...
Fatigue I don't have plans for this
What could make this mod even more awesome would be the ability to place items / lean items against walls on half slabs. I'm building Japanese style houses on half slabs right now with decorative tables that are full bocks that are pretend half slabs, but being able to put down crocks or bowls on half slabs- Or even full blocks somehow (beds, chests) would be insane. I understand though that putting a full block a half step out of place would completely mess up the grid system, but shelvable items would be a godsend. Love this mod, hope our server adds it.
Woah
Oh, man! That immediately appeals to me. Thanks very much for making this!