Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal

Archived

This topic is now archived and is closed to further replies.

Krutoy242

Building - OC Data-Center (screenshots)

Recommended Posts

I playing on largest Russian whitelisted server, focused on OpenComputer mod. We required new house with computers and communications. It need to be spacious and in sci-fi style.

 

First, i found inspirations on deviant art. There was hight-tetch laboratories, futuristic buildings and other stuff.

Then, i decided make new building in black + blue and orange colors. I took MagicaVoxels and made this voxel model:

 

XShyegL.png6GfTAFS.png

 

After, i wrote small script on JS, that converts .vox models to Lua-friendly table.

I used debug-card (while admin oversee me) and small program, that printed our data-center in right place.

Construction process:

datacenter_by_yanwiah-d8xse7m.gif

 

Then i again take MagicaVoxel with my other converter, slightly modified print3d.lua for mass printing, and made tonns of 6 types iluminators, decorating our building.

 

And. this what i got. There is place for 64 computers, private rooms for programmers and basement for sever system:

 

oBG9vLw.pngi44xZv8.pngMGj3YZV.png

 

 

Also, we build small lab for newbies, who want to live in Data-Center:

 

ZdbcHBz.png

hG7cmXz.png

 

 

Working servers with network programs, like my own internet provider by wireless modem.

 

M7FFYNL.png

iPGbaKV.png

 

Also, you can always see Data-Center right on online map.

 

Welcome!

Share this post


Link to post
Share on other sites

That looks amazing! Nice use of OC and debug cards.

Share this post


Link to post
Share on other sites

I love the design. Thank you for sharing. I've written a converter script for RCON on the basis of the new fill command which is available in 1.8. There I have to work with the block IDs also stone for data value 0 or stained_hardened_clay for data value 159 e.g.. But no problem. I just mapped it via a table.

 

However, I wonder to what  block IDs I should map the following data values:

 

513, 533, 531, 4229

 

Do they come from a mod? Maybe OpenComputers? 

Share this post


Link to post
Share on other sites

However, I wonder to what  block IDs I should map the following data values:

513, 533, 531, 4229

Do they come from a mod? Maybe OpenComputers? 

As i understand, some block IDs are generated when server created. So, this is OC blicks, like, monitors and server racks.

Share this post


Link to post
Share on other sites

As i understand, some block IDs are generated when server created. So, this is OC blicks, like, monitors and server racks.

  

Thank you! The IDs come from your MagicaVoxels converter script.

For the MC 1.8 fill command I have to map the magical numbers 513, 533, 531 and 4229 to their proper Block-IDs. I think I will find the IDs somewhere into the Java Code of OC. But maybe it does not work. Perhaps the fill command only works with vanilla blocks. I've testes it. It works. :)

For example this code sets an accessPoint at position 196 75 220:

/setblock 196 75 220 opencomputers:accessPoint 1 replace

For the vanilla blocks I've made already this hash (perl style):

my %block_val2id = (0 => 'air', 1 => 'stone', 2 => 'grass', 3 => 'dirt', 4 => 'cobblestone', 5 => 'planks', 6 => 'sapling', 7 => 'bedrock', 8 => 'flowing_water', 9 => 'water', 10 => 'flowing_lava', 11 => 'lava', 12 => 'sand', 13 => 'gravel', 14 => 'gold_ore', 15 => 'iron_ore', 16 => 'coal_ore', 11 => 'log', 12 => 'leaves', 19 => 'sponge', 20 => 'glass', 21 => 'lapis_ore', 22 => 'lapis_block', 23 => 'dispenser', 24 => 'sandstone', 25 => 'noteblock', 26 => 'bed', 27 => 'golden_rail', 28 => 'detector_rail', 29 => 'sticky_piston', 30 => 'web', 31 => 'tallgrass', 32 => 'deadbush', 33 => 'piston', 34 => 'piston_head', 35 => 'wool', 36 => 'piston_extension', 37 => 'yellow_flower', 38 => 'red_flower', 39 => 'brown_mushroom', 40 => 'red_mushroom', 41 => 'gold_block', 42 => 'iron_block', 43 => 'double_stone_slab', 44 => 'stone_slab', 45 => 'brick_block', 46 => 'tnt', 47 => 'bookshelf', 48 => 'mossy_cobblestone', 49 => 'obsidian', 50 => 'torch', 51 => 'fire', 52 => 'mob_spawner', 53 => 'oak_stairs', 54 => 'chest', 55 => 'redstone_wire', 56 => 'diamond_ore', 57 => 'diamond_block', 58 => 'crafting_table', 59 => 'wheat', 60 => 'farmland', 61 => 'furnace', 62 => 'lit_furnace', 63 => 'standing_sign', 64 => 'wooden_door', 65 => 'ladder', 66 => 'rail', 67 => 'stone_stairs', 68 => 'wall_sign', 69 => 'lever', 70 => 'stone_pressure_plate', 71 => 'iron_door', 72 => 'wooden_pressure_plate', 73 => 'redstone_ore', 74 => 'lit_redstone_ore', 75 => 'unlit_redstone_torch', 76 => 'redstone_torch', 77 => 'stone_button', 78 => 'snow_layer', 79 => 'ice', 80 => 'snow', 81 => 'cactus', 82 => 'clay', 83 => 'reeds', 84 => 'jukebox', 85 => 'fence', 86 => 'pumpkin', 87 => 'netherrack', 88 => 'soul_sand', 89 => 'glowstone', 90 => 'portal', 91 => 'lit_pumpkin', 92 => 'cake', 93 => 'unpowered_repeater', 94 => 'powered_repeater', 95 => 'stained_glass', 96 => 'trapdoor', 97 => 'monster_egg', 98 => 'stonebrick', 99 => 'brown_mushroom_block', 100 => 'red_mushroom_block', 101 => 'iron_bars', 102 => 'glass_pane', 103 => 'melon_block', 104 => 'pumpkin_stem', 105 => 'melon_stem', 106 => 'vine', 107 => 'fence_gate', 108 => 'brick_stairs', 109 => 'stone_brick_stairs', 110 => 'mycelium', 111 => 'waterlily', 112 => 'nether_brick', 113 => 'nether_brick_fence', 114 => 'nether_brick_stairs', 115 => 'nether_wart', 116 => 'enchanting_table', 117 => 'brewing_stand', 118 => 'cauldron', 119 => 'end_portal', 120 => 'end_portal_frame', 121 => 'end_stone', 122 => 'dragon_egg', 123 => 'redstone_lamp', 124 => 'lit_redstone_lamp', 125 => 'double_wooden_slab', 126 => 'wooden_slab', 127 => 'cocoa', 128 => 'sandstone_stairs', 129 => 'emerald_ore', 130 => 'ender_chest', 131 => 'tripwire_hook', 132 => 'tripwire', 133 => 'emerald_block', 134 => 'spruce_stairs', 135 => 'birch_stairs', 136 => 'jungle_stairs', 137 => 'command_block', 138 => 'beacon', 139 => 'cobblestone_wall', 140 => 'flower_pot', 141 => 'carrots', 142 => 'potatoes', 143 => 'wooden_button', 144 => 'skull', 145 => 'anvil', 146 => 'trapped_chest', 147 => 'light_weighted_pressure_plate', 148 => 'heavy_weighted_pressure_plate', 149 => 'unpowered_comparator', 150 => 'powered_comparator', 151 => 'daylight_detector', 152 => 'redstone_block', 153 => 'quartz_ore', 154 => 'hopper', 155 => 'quartz_block', 156 => 'quartz_stairs', 157 => 'activator_rail', 158 => 'dropper', 159 => 'stained_hardened_clay', 160 => 'stained_glass_pane', 161 => 'leaves2', 162 => 'log2', 163 => 'acacia_stairs', 164 => 'dark_oak_stairs', 165 => 'slime', 166 => 'barrier', 167 => 'iron_trapdoor', 168 => 'prismarine', 169 => 'sea_lantern', 170 => 'hay_block', 171 => 'carpet', 172 => 'hardened_clay', 173 => 'coal_block', 174 => 'packed_ice', 175 => 'double_plant', 176 => 'standing_banner', 177 => 'wall_banner', 178 => 'daylight_detector_inverted', 179 => 'red_sandstone', 180 => 'red_sandstone_stairs', 181 => 'double_stone_slab2', 182 => 'stone_slab2', 183 => 'spruce_fence_gate', 184 => 'birch_fence_gate', 185 => 'jungle_fence_gate', 186 => 'dark_oak_fence_gate', 187 => 'acacia_fence_gate', 188 => 'spruce_fence', 189 => 'birch_fence', 190 => 'jungle_fence', 191 => 'dark_oak_fence', 192 => 'acacia_fence', 193 => 'spruce_door', 194 => 'birch_door', 195 => 'jungle_door', 196 => 'acacia_door', 197 => 'dark_oak_door', 198 => 'end_rod', 199 => 'chorus_plant', 200 => 'chorus_flower', 201 => 'purpur_block', 202 => 'purpur_pillar', 203 => 'purpur_stairs', 204 => 'purpur_double_slab', 205 => 'purpur_slab', 206 => 'end_bricks', 207 => 'beetroots', 208 => 'grass_path', 209 => 'end_gateway', 210 => 'repeating_command_block', 211 => 'chain_command_block', 212 => 'frosted_ice', 255 => 'structure_block');

Block-IDs > 255 I've set to air at the moment. Nevertheless, your building is pretty impressing. Even without the computer stuff.  :)

 

Update:

 

I guessed a bit:

 

533 => 'opencomputers:case1' (or case2..3)    

531 => 'opencomputers:screen1' (or screen2..3)    
513 => 'opencomputers:cable'
4229 => An elevator?
 
Okay, only the ID for the number 4229 I can not guess. I bet on a lift, because you otherwise not even reach the floors without flying (Creative Mode).

Share this post


Link to post
Share on other sites

Oh, you did it and build my DataCenter?

Yes. I did it vanilla style with fill commands via RCON. 

 

4229 is IC:E metal fence, if i remember. You can see it on screenshots.

Thanks for the clarification.

Share this post


Link to post
Share on other sites

Hi Krutoy,

 

I've tested your converter with this set of skeleton characters:

 

  https://voxeltiles.wordpress.com/2015/02/25/voxel-skeleton-set-v-1/

 

It works, but the colors are mapped almost wrong and the figures appear in Minecraft flipped on the X-axis. I have not had time to look at your code in more detail. Maybe there is also a problem with the VOX-files. Perhaps you have an idea.

 

By the way: With the right mappings this skeletons looks pretty cool in Minecraft. :)

Share this post


Link to post
Share on other sites

Any chance you will create a new table of the complete area you have in your screenshots? it looks awesome and i just built it in SP but it's just the main building and a few ids are wrong. i'm writing a simple program to replace ids.

Share this post


Link to post
Share on other sites

Any chance you will create a new table of the complete area you have in your screenshots? it looks awesome and i just built it in SP but it's just the main building and a few ids are wrong. i'm writing a simple program to replace ids.

 

Which IDs are wrong? I've wrote a little convert perl-script for vanilla minecraft. Should I share it with you?

 

And yes. Another file for the smaller building would be cool. 

Share this post


Link to post
Share on other sites

Which IDs are wrong? I've wrote a little convert perl-script for vanilla minecraft. Should I share it with you?

 

And yes. Another file for the smaller building would be cool. 

 

Thanks, i don't know what your program does but mine is almost finished. Going to publish it the next days. was just working on a way to add a way to build the screens with the correct orientation. Actually the code for that part is also almost complete. I just have to fix the screens and run a scan on them, save it as an additional file and modify the original building script. After that the building should have perfectly oriented screens in it. the same method did not work with cases or server racks.. the building is missing keyboards btw...

So probably I'll post the code in the next days.

 

To the question which ids are wrong: in the modpack i use all OC-ids are different. and many people will have that problem too. fences were skystone etc...

Share this post


Link to post
Share on other sites

I'm not sure how yall are building it I have a stock Toshiba Satellite L755-S5112 (http://gadgetaz.com/Laptop/Toshiba_Satellite_L755-S5112--5771) its running Ubuntu 14.04. I just can't seem to be able to build it sadly.

 

I'm using Ubuntu 14.04 too. Open a terminal.

 

1. sudo apt-get install dh-make-perl

2. dh-make-perl --cpan Minecraft::RCON

3. sudo dpkg -i libminecraft-rcon-perl_0.1.4-1_all.deb

4. Fetch Krutoy's data center lua table and save it to a file.

5. Set up a local minecraft server (with rcon turned on) on your local machine (localhost).

6. Start your minecraft client and connect to your local server.

7. Save the following script to a file, customize it and run it:

#!/usr/bin/perl -w

use strict;
use Minecraft::RCON;

# Your credentials here:
my $mc_server = 'YourServer';
my $mc_rcon_port = 'YourPort';
my $mc_rcon_password = 'YourPassword';

# Mapping value => block id
my %block_val2id = (0 => 'air', 1 => 'stone', 2 => 'grass', 3 => 'dirt', 4 => 'cobblestone', 5 => 'planks', 6 => 'sapling', 7 => 'bedrock', 8 => 'flowing_water', 9 => 'water', 10 => 'flowing_lava', 11 => 'lava', 12 => 'sand', 13 => 'gravel', 14 => 'gold_ore', 15 => 'iron_ore', 16 => 'coal_ore', 11 => 'log', 12 => 'leaves', 19 => 'sponge', 20 => 'glass', 21 => 'lapis_ore', 22 => 'lapis_block', 23 => 'dispenser', 24 => 'sandstone', 25 => 'noteblock', 26 => 'bed', 27 => 'golden_rail', 28 => 'detector_rail', 29 => 'sticky_piston', 30 => 'web', 31 => 'tallgrass', 32 => 'deadbush', 33 => 'piston', 34 => 'piston_head', 35 => 'wool', 36 => 'piston_extension', 37 => 'yellow_flower', 38 => 'red_flower', 39 => 'brown_mushroom', 40 => 'red_mushroom', 41 => 'gold_block', 42 => 'iron_block', 43 => 'double_stone_slab', 44 => 'stone_slab', 45 => 'brick_block', 46 => 'tnt', 47 => 'bookshelf', 48 => 'mossy_cobblestone', 49 => 'obsidian', 50 => 'torch', 51 => 'fire', 52 => 'mob_spawner', 53 => 'oak_stairs', 54 => 'chest', 55 => 'redstone_wire', 56 => 'diamond_ore', 57 => 'diamond_block', 58 => 'crafting_table', 59 => 'wheat', 60 => 'farmland', 61 => 'furnace', 62 => 'lit_furnace', 63 => 'standing_sign', 64 => 'wooden_door', 65 => 'ladder', 66 => 'rail', 67 => 'stone_stairs', 68 => 'wall_sign', 69 => 'lever', 70 => 'stone_pressure_plate', 71 => 'iron_door', 72 => 'wooden_pressure_plate', 73 => 'redstone_ore', 74 => 'lit_redstone_ore', 75 => 'unlit_redstone_torch', 76 => 'redstone_torch', 77 => 'stone_button', 78 => 'snow_layer', 79 => 'ice', 80 => 'snow', 81 => 'cactus', 82 => 'clay', 83 => 'reeds', 84 => 'jukebox', 85 => 'fence', 86 => 'pumpkin', 87 => 'netherrack', 88 => 'soul_sand', 89 => 'glowstone', 90 => 'portal', 91 => 'lit_pumpkin', 92 => 'cake', 93 => 'unpowered_repeater', 94 => 'powered_repeater', 95 => 'stained_glass', 96 => 'trapdoor', 97 => 'monster_egg', 98 => 'stonebrick', 99 => 'brown_mushroom_block', 100 => 'red_mushroom_block', 101 => 'iron_bars', 102 => 'glass_pane', 103 => 'melon_block', 104 => 'pumpkin_stem', 105 => 'melon_stem', 106 => 'vine', 107 => 'fence_gate', 108 => 'brick_stairs', 109 => 'stone_brick_stairs', 110 => 'mycelium', 111 => 'waterlily', 112 => 'nether_brick', 113 => 'nether_brick_fence', 114 => 'nether_brick_stairs', 115 => 'nether_wart', 116 => 'enchanting_table', 117 => 'brewing_stand', 118 => 'cauldron', 119 => 'end_portal', 120 => 'end_portal_frame', 121 => 'end_stone', 122 => 'dragon_egg', 123 => 'redstone_lamp', 124 => 'lit_redstone_lamp', 125 => 'double_wooden_slab', 126 => 'wooden_slab', 127 => 'cocoa', 128 => 'sandstone_stairs', 129 => 'emerald_ore', 130 => 'ender_chest', 131 => 'tripwire_hook', 132 => 'tripwire', 133 => 'emerald_block', 134 => 'spruce_stairs', 135 => 'birch_stairs', 136 => 'jungle_stairs', 137 => 'command_block', 138 => 'beacon', 139 => 'cobblestone_wall', 140 => 'flower_pot', 141 => 'carrots', 142 => 'potatoes', 143 => 'wooden_button', 144 => 'skull', 145 => 'anvil', 146 => 'trapped_chest', 147 => 'light_weighted_pressure_plate', 148 => 'heavy_weighted_pressure_plate', 149 => 'unpowered_comparator', 150 => 'powered_comparator', 151 => 'daylight_detector', 152 => 'redstone_block', 153 => 'quartz_ore', 154 => 'hopper', 155 => 'quartz_block', 156 => 'quartz_stairs', 157 => 'activator_rail', 158 => 'dropper', 159 => 'stained_hardened_clay', 160 => 'stained_glass_pane', 161 => 'leaves2', 162 => 'log2', 163 => 'acacia_stairs', 164 => 'dark_oak_stairs', 165 => 'slime', 166 => 'barrier', 167 => 'iron_trapdoor', 168 => 'prismarine', 169 => 'sea_lantern', 170 => 'hay_block', 171 => 'carpet', 172 => 'hardened_clay', 173 => 'coal_block', 174 => 'packed_ice', 175 => 'double_plant', 176 => 'standing_banner', 177 => 'wall_banner', 178 => 'daylight_detector_inverted', 179 => 'red_sandstone', 180 => 'red_sandstone_stairs', 181 => 'double_stone_slab2', 182 => 'stone_slab2', 183 => 'spruce_fence_gate', 184 => 'birch_fence_gate', 185 => 'jungle_fence_gate', 186 => 'dark_oak_fence_gate', 187 => 'acacia_fence_gate', 188 => 'spruce_fence', 189 => 'birch_fence', 190 => 'jungle_fence', 191 => 'dark_oak_fence', 192 => 'acacia_fence', 193 => 'spruce_door', 194 => 'birch_door', 195 => 'jungle_door', 196 => 'acacia_door', 197 => 'dark_oak_door', 198 => 'end_rod', 199 => 'chorus_plant', 200 => 'chorus_flower', 201 => 'purpur_block', 202 => 'purpur_pillar', 203 => 'purpur_stairs', 204 => 'purpur_double_slab', 205 => 'purpur_slab', 206 => 'end_bricks', 207 => 'beetroots', 208 => 'grass_path', 209 => 'end_gateway', 210 => 'repeating_command_block', 211 => 'chain_command_block', 212 => 'frosted_ice', 255 => 'structure_block');

# OpenComputers Components
#
# Mod:
# my %opencomputers_val2id = (533 => 'opencomputers:case3', 531 => 'opencomputers:screen3', 513 => 'opencomputers:cable', 4229 => 'air');
# Vanilla:
my %opencomputers_val2id = (533 => 'redstone_block', 531 => 'redstone_block', 513 => 'nether_brick_fence', 4229 => 'air');

# Join all block IDs
my %all_val2id = (%block_val2id, %opencomputers_val2id);

# Corner coords
my $x = 0;
my $y = 0;
my $z = 0;

my $prepress_file = shift;
die "Missing prepress file!\n" if(!$prepress_file);
open (PREPRESS,"<$prepress_file") or die "Can't open $prepress_file\n";   

my $i;
while(<PREPRESS>)
{
  chomp();
  my $line = $_;
  if ($line !~/^\{ \d+,\d+,\d+,\d+,\d+,\d+, (\d+|\d+,\d+) \},$/)
  {
    print "Skipping: $line\n";
    next;
  }
  $line =~ s/[{}\s]//g;
  $line =~ s/,$//;
  my @data = split(',', $line);
  $data[7] = "0" if(!$data[7]);
  
  # Set coordinates
  $data[0]+=$x; $data[1]+=$y; $data[2]+=$z;
  $data[3]+=$x; $data[4]+=$y; $data[5]+=$z;

  # Set block ID
  my $blockid = $all_val2id{$data[6]};

  # COMMENT IN for setting everything to air
  # my $blockid = 'air';
  
  next if (!$blockid); 
  $i++;
  my $fill = "fill $data[0] $data[1] $data[2] $data[3] $data[4] $data[5] $blockid $data[7] replace";

  # COMMENT IN for set only Mod blocks
  # next if($data[6]<255);

  # Print next fill command to execute
  print "$i\t$fill\n";
  
  # COMMENT OUT for disable DRY RUN
  next;  
  #

  my $rcon = Minecraft::RCON->new( { address  => $mc_server, port => $mc_rcon_port, password => $mc_rcon_password, strip_color => 1, convert_color => 1} );

  if ($rcon->connect) 
  {
      print $rcon->command($fill)."\n";
      $rcon->disconnect;
  }
  else 
  {
     print "Connection to $mc_server failed!\n";
     sleep 1;
     # COMMENT IN to capitulate ...
     # last;
  } 
}

Share this post


Link to post
Share on other sites

Thanks, i don't know what your program does but mine is almost finished. Going to publish it the next days. was just working on a way to add a way to build the screens with the correct orientation. Actually the code for that part is also almost complete. I just have to fix the screens and run a scan on them, save it as an additional file and modify the original building script. After that the building should have perfectly oriented screens in it. the same method did not work with cases or server racks.. the building is missing keyboards btw...

So probably I'll post the code in the next days.

 

To the question which ids are wrong: in the modpack i use all OC-ids are different. and many people will have that problem too. fences were skystone etc...

 

I've posted my script above. I use two simple hashes (block_val2id and opencomputers_val2id) to map everything to block IDs. Krutoy is using the block values instead of the block IDs. That's all so far as I understand it. Or do I miss something? 

 

With the mapped IDs I can simply use Minecrafts fill command. You need Minecraft 1.8 or later in order to use it. But it works under vanilla. I had some stability problems with Forge. Also on my internet server I can't use OpenComputers at the moment, because of an outdated remote Mac OS/Java Client which must be updated first. In the script you can see my substitutions for OpenComputers. 

 

Okay, I have a special situation. But maybe it's also useful to others.

Share this post


Link to post
Share on other sites

 

I'm using Ubuntu 14.04 too. Open a terminal.

 

1. sudo apt-get install dh-make-perl

2. dh-make-perl --cpan Minecraft::RCON

3. sudo dpkg -i libminecraft-rcon-perl_0.1.4-1_all.deb

4. Fetch Krutoy's data center lua table and save it to a file.

5. Set up a local minecraft server (with rcon turned on) on your local machine (localhost).

6. Start your minecraft client and connect to your local server.

7. Save the following script to a file, customize it and run it:

I distinctly remember you saying RCON  was for 1.8 and up, I am using 1.7.10. So close lol. Can I change the tier 3 case to a creative case? I would also like to add that I am using a pirated Minecraft (I know its only what $26 but I'm only 14 and don't have that cash, no ands ifs or buts about it.(If it matters to you it is Mineshafter.))

Share this post


Link to post
Share on other sites

the colors are mapped almost wrong and the figures appear in Minecraft flipped on the X-axis

Oh, im glad you succes and my program was useful.

There is bug with standart palette in my converter. Simpliest way to avoid it - add custom color in standart MagicaVoxel's palette. This will force MV to rewrite whole palette in file, and it will work fine.

Thx for flipping report, i will fix it when update my converter.

 

 

Any chance you will create a new table of the complete area you have in your screenshots? it looks awesome and i just built it in SP but it's just the main building and a few ids are wrong. i'm writing a simple program to replace ids.

Sorry, we already whipe out our world, and losed all buildings. But i still have source voxel files and converted tables.

If you talkind about "the lab", there is vox and converted table.

 

83KKShw.png

 

Also, i would be very glad, if you will find a way to determine how monitors or other items should be rotated, or share your way to do this.

 

I was think, that i can use different colors for each direction for rotateable blocks, and then, i can writedown right in converter angle.

For example, something like 

mc:id, 0, 2

Where i write down id, meta, and world align. After, building program can fill this chunk of blicks, and then rotate each of them.

But this is bad way, because you will spend too much time to manually write all directions.

Share this post


Link to post
Share on other sites

I finished my script to manipulate ids in the building table, it's on my github.

I manipulated the building script to use the screens file i generated if it exists, it's on my github too.

The screens file is for tier3 screens, if you want to use different tiers you would need to manipulate the screens file. The file is independent of any coordinates, they are added during the building process.

 

The screens are now correctly oriented but that comes with a bug: if you attach a keyboard to the screen it does not work. you have to remove the screen and place a new screen. then attach the keyboard exactly to that screen.. messing with NBT has its downsides it seems... still better than rebuilding all screens.

 

Edit: I could not reproduce the keyboard bug on my second datacenter. everything worked fine this time.. so you'll see for yourself.

 

Edit 2: If the building is going to be rotated, then the screen orientation will not work again... maybe you can change the building script for a rotation command that automatically changes the orientation of the screens too, it should be the value in oc:yaw.

Share this post


Link to post
Share on other sites

I finished my script to manipulate ids in the building table, it's on my github.

Cool! I will use some code from here.

But... This is useful only for one building. What i will do when make new model in MagicaVoxel?

Share this post


Link to post
Share on other sites

The ID-Transformation script does work for every building.

the screens file not, but you can easily implement it into your original code. I did not want to mess up the original table by adding values. Actually only the ["oc:yaw"].value is important. you could implement that value into your table as an additional variable and then generate the NBT-table during execution like the modified building script already does (partly). i still left way too many information in the screens file. the only value that changes the orientation is ["oc:yaw"].value.

x,y,z are dynamically handled by the building script and the other information is static for screens and do not need to be in the screens file. i could optimize that or script it directly into your original table.

Share this post


Link to post
Share on other sites

Oh, im glad you succes and my program was useful.

There is bug with standart palette in my converter. Simpliest way to avoid it - add custom color in standart MagicaVoxel's palette. This will force MV to rewrite whole palette in file, and it will work fine.

 

Thank you. That seems to work. Your program is great.  

 

A note on the screens in general:  It is tricky to place them with the desired alignment. A screen can facing north, south, west, east, bottom or up. North should be alignment number 8 for example. So I think your idea to use different colors should work. But what I want to say: Screens are a burden on the client site even if they are turned off. I personally create them, therefore, only by hand and when I need them. Align the screens correctly goes very quickly. Much more important for me is that you have implemented a structured cabling. This is really time consuming when you have to do it by hand. And the time I need to completely illuminate the data center. ;)

 

Maybe some placeholder blocks for the lamps would be nice. 

 

But I do not want to hold you back to find a solution for the screens. If I have an idea, I let you know.

Share this post


Link to post
Share on other sites

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.