Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Multiblocks!


Ommina
 Share

Recommended Posts

OK.  In 1.14.4.  I have a block model that is 3x3 actual blocks in size.  It will place in the world just fine, and I can change the "this is the block you are targeting" outline through getShape.  Unsurprisingly, though, only the centre block actually exists as far as the game in concerned.  Entities can walk though, and blocks can be placed in, the remaining 26 spaces.

 

I know this has been done many times by many people in the past, so I'd like to turn to the wisdom of others before trying my own solution.

 

As I see it, there's a couple of options.

 

1) Keep it as one block, but fill in the missing blocks with transparent filler blocks on placement.  I like this one, but I don't see a really convenient way to indicate to the player that "this block needs a 3x3 space to place.  Oh, and make sure there are no entities in that space either".

2) Go the more traditional controller+extra blocks that are placed individually, that vanish and turn into the model when the last block is placed, presumably by the central controller block continually scanning the other 26.

 

In this case, I do not have any capabilities attached to the block.  (But it DOES have to respond to redstone).  But I'd be interested in hearing how either approach (or any other) works better for capabilities.

 

So, my question.  What's a good way forward here?  Are there other options that I have not considered?  Which is least likely to come back and bite me later?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • That's interesting you say that. So basically the RegistryObject can be whatever it wants, but the new BlockCrudeOil is the one addressing the object.class? This might be very well the reason why I can't get my custom oil tags working. I'd still have to "hack" the minecraft.water tag in order to give proper physics etc. to my custom fluid. I've found some leftover traces from you, over here. But it wasn't a priority on my list, so after some struggle and fail I just moved on to more important topics. I shall test this tag thingy again with my newly gained kiddy skills...:)
    • I need help everytime if i open a Workbench then minecraft will crashed in few moments here is the log ---- Minecraft Crash Report ---- // Hey, that tickles! Hehehe! Time: 16.10.21, 19:29 Description: Rendering screen java.lang.NullPointerException: Cannot invoke "net.minecraft.world.item.ItemStack.m_41720_()" because "stack" is null     at net.minecraftforge.client.RenderProperties.get(RenderProperties.java:43) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.getTooltipFont(ForgeHooksClient.java:1089) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.gatherTooltipComponents(ForgeHooksClient.java:1114) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.gatherTooltipComponents(ForgeHooksClient.java:1109) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraft.client.gui.screens.Screen.m_96597_(Screen.java:200) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.recipebook.RecipeBookComponent.m_100374_(RecipeBookComponent.java:322) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.recipebook.RecipeBookComponent.m_100361_(RecipeBookComponent.java:297) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.inventory.CraftingScreen.m_6305_(SourceFile:69) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:392) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:385) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraft.client.renderer.GameRenderer.m_109093_(GameRenderer.java:885) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1040) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:659) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:186) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:45) ~[fmlloader-1.17.1-37.0.90.jar%2322!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace:     at net.minecraftforge.client.RenderProperties.get(RenderProperties.java:43) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.getTooltipFont(ForgeHooksClient.java:1089) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.gatherTooltipComponents(ForgeHooksClient.java:1114) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.gatherTooltipComponents(ForgeHooksClient.java:1109) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraft.client.gui.screens.Screen.m_96597_(Screen.java:200) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.recipebook.RecipeBookComponent.m_100374_(RecipeBookComponent.java:322) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.recipebook.RecipeBookComponent.m_100361_(RecipeBookComponent.java:297) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.gui.screens.inventory.CraftingScreen.m_6305_(SourceFile:69) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.drawScreenInternal(ForgeHooksClient.java:392) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading}     at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:385) ~[forge-1.17.1-37.0.90-universal.jar%2361!:?] {re:classloading} -- Screen render details -- Details:     Screen name: net.minecraft.client.gui.screens.inventory.CraftingScreen     Mouse location: Scaled: (287, 130). Absolute: (860.000000, 392.000000)     Screen size: Scaled: (534, 293). Absolute: (1600, 877). Scale factor of 3.000000 -- Affected level -- Details:     All players: 1 total; [LocalPlayer['AltoStream62132'/64835, l='ClientLevel', x=-73.24, y=65.50, z=-146.05]]     Chunk stats: 289, 169     Level dimension: minecraft:overworld     Level spawn location: World: (-42,63,-161), Section: (at 6,15,15 in -3,3,-11; chunk contains blocks -48,0,-176 to -33,255,-161), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)     Level time: 3253226 game time, 802929 day time     Server brand: forge     Server type: Non-integrated multiplayer server Stacktrace:     at net.minecraft.client.multiplayer.ClientLevel.m_6026_(ClientLevel.java:364) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,xf:fml:xaerominimap:xaero_clientworldclass,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91354_(Minecraft.java:2245) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:676) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A}     at net.minecraft.client.main.Main.main(Main.java:186) ~[client-1.17.1-20210706.113038-srg.jar%2357!:?] {re:classloading,pl:runtimedistcleaner:A}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:567) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:45) ~[fmlloader-1.17.1-37.0.90.jar%2322!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%235!:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} -- Last reload -- Details:     Reload number: 1     Reload reason: initial     Finished: Yes     Packs: Mod Resources, Default, Programmer Art -- System Details -- Details:     Minecraft Version: 1.17.1     Minecraft Version ID: 1.17.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 16.0.1, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 678520112 bytes (647 MiB) / 1308622848 bytes (1248 MiB) up to 2147483648 bytes (2048 MiB)     CPUs: 4     Processor Vendor: GenuineIntel     Processor Name: Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz     Identifier: Intel64 Family 6 Model 58 Stepping 9     Microarchitecture: Ivy Bridge (Client)     Frequency (GHz): 2,89     Number of physical packages: 1     Number of physical CPUs: 2     Number of logical CPUs: 4     Graphics card #0 name: Intel(R) HD Graphics 4000     Graphics card #0 vendor: Intel Corporation (0x8086)     Graphics card #0 VRAM (MB): 2112,00     Graphics card #0 deviceId: 0x0166     Graphics card #0 versionInfo: DriverVersion=10.18.10.4425     Memory slot #0 capacity (MB): 4096,00     Memory slot #0 clockSpeed (GHz): 1,60     Memory slot #0 type: DDR3     Memory slot #1 capacity (MB): 4096,00     Memory slot #1 clockSpeed (GHz): 1,60     Memory slot #1 type: DDR3     Virtual memory max (MB): 12900,86     Virtual memory used (MB): 10669,17     Swap memory total (MB): 5012,07     Swap memory used (MB): 1177,79     JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     Launched Version: 1.17.1-forge-37.0.90     Backend library: LWJGL version 3.2.2 SNAPSHOT     Backend API: Intel(R) HD Graphics 4000 GL version 3.2.0 - Build 10.18.10.4425, Intel     Window size: 1600x877     GL Caps: Using framebuffer using OpenGL 3.2     GL debug messages:      Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'forge'     Type: Client (map_client.txt)     Graphics mode: fancy     Resource Packs: mod_resources, vanilla, programer_art     Current Language: Deutsch (Deutschland)     CPU: 4x Intel(R) Core(TM) i7-3520M CPU @ 2.90GHz     ModLauncher: 9.0.7+91+master.8569cdf     ModLauncher launch target: forgeclient     ModLauncher naming: srg     ModLauncher services:           mixin PLUGINSERVICE           eventbus PLUGINSERVICE           object_holder_definalize PLUGINSERVICE           runtime_enum_extender PLUGINSERVICE           capability_token_subclass PLUGINSERVICE           capability_inject_definalize PLUGINSERVICE           accesstransformer PLUGINSERVICE           runtimedistcleaner PLUGINSERVICE           mixin TRANSFORMATIONSERVICE           fml TRANSFORMATIONSERVICE      FML Language Providers:          minecraft@1.0         javafml@null     Mod List:          client-1.17.1-20210706.113038-srg.jar             |Minecraft                     |minecraft                     |1.17.1              |DONE      |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f         forge-1.17.1-37.0.90-universal.jar                |Forge                         |forge                         |37.0.90             |DONE      |Manifest: 22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90         Xaeros_Minimap_21.18.0_Forge_1.17.1 (1).jar       |Xaero's Minimap               |xaerominimap                  |21.18.0             |DONE      |Manifest: NOSIGNATURE         timber-1.17.1-2.1.0-forge.jar                     |Timber Mod                    |timber                        |2.1.0               |DONE      |Manifest: NOSIGNATURE         TravelersBackpack-1.17.1-6.0.3.jar                |Traveler's Backpack           |travelersbackpack             |6.0.3               |DONE      |Manifest: NOSIGNATURE         jei-1.17.1-8.1.0.26.jar                           |Just Enough Items             |jei                           |8.1.0.26            |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: b7c2a142-4a62-499a-9082-4d7cb9d9f5aa     FML: 37.0     Forge: net.minecraftforge:37.0.90
    • so i have to create the world, and then i send you the log? if you mean that i can do it right now
    • I have time. The thing is that the log you showed shows a corrupt level.dat, hence I am asking this question.
    • and my pc is not very good, so it can take a while
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.