liuweireign / tectonicus

Automatically exported from code.google.com/p/tectonicus
0 stars 0 forks source link

Custom block errors and quirks #9

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I've been working with Tectonicus's custom block xml to map out some of the 
blocks used in technic pack 7.01 http://www.technicpack.net/ (MC 1.25, EE, IC2, 
RP, BC, Thaum, etc)

Attached is my custom block xml work in progress along with mod texture pngs, 
and a small flat creative sample world that has some blocks placed.

I encountered some errors while working on this:

1.) When you detect a parse error, could you spit out the xml element's text or 
a line number?  The exception below was hard to troubleshoot:

Error while parsing [Solid: null]
java.lang.RuntimeException: side subtexture is null!
        at tectonicus.blockTypes.SolidBlockType.init(SolidBlockType.java:88)
        at tectonicus.blockTypes.SolidBlockType.<init>(SolidBlockType.java:75)
        at tectonicus.BlockRegistryParser.parse(BlockRegistryParser.java:196)
        at tectonicus.BlockRegistryParser.parse(BlockRegistryParser.java:145)
        at tectonicus.world.World.loadBlockRegistry(World.java:229)
        at tectonicus.TileRenderer.setupWorldForLayer(TileRenderer.java:413)
        at tectonicus.TileRenderer.output(TileRenderer.java:305)
        at tectonicus.TectonicusApp.run(TectonicusApp.java:952)
        at tectonicus.TectonicusApp.main(TectonicusApp.java:1212)   

2.) I attempted to use the Furnace block to represent EE collector/relays and 
IC2 machines, but the front/sides do not seem to have a consistent 
implementation.  In the North part of the test world, I have various EE 
machines orientated each of the 4 ways and none of them show the front texture. 
 For the Anti-matter relay, it shows the front texture on all sides except for 
the front, but the collectors don't do this same reversal.  The same for the 
IC2 machines.  Macerator works, but none of the other machines display with any 
consistency.  Only the top texture works 100%.  I've also tried Pumpkin and 
Workbench to see if they would help, but no difference.

3.)  Slabs are hardcoded to the default minecraft texture.  If I try to use a 
custom image, the texture shown is the [col,row] on the terrain.png

4.) Chest seems to take the texture image from the first attribute, and then 
only looks at the index from the other attributes.  If I try using a 
combination of vanilla and mod pack textures it takes the first one used.

5.)     java.lang.NullPointerException
            at tectonicus.blockTypes.Cauldron.addEdgeGeometry(Cauldron.java:101)
            at tectonicus.blockTypes.Cauldron.addInteriorGeometry(Cauldron.java:92)
            at tectonicus.Chunk.createGeometry(Chunk.java:151)
        <Cauldron id="189:1" name="Crucible of Eyes" top="C:/Tectonicus/thaumcraft.png[0, 1]" side="C:/Tectonicus/thaumcraft.png[5, 1]" bottom="C:/Tectonicus/thaumcraft.png[3, 1]" />  

When I tried using the Cauldron type for the Thaum crucible.  If this type is 
hardcoded to vanilla minecraft you should note types that can't be reused.  I 
got to to display perfectly with a solid/top/side/alphaTest.

6.)  java.lang.NullPointerException
        at tectonicus.blockTypes.EnchantmentTable.addEdgeGeometry(EnchantmentTable.java:95)
        at tectonicus.blockTypes.EnchantmentTable.addInteriorGeometry(EnchantmentTable.java:87)
        at tectonicus.Chunk.createGeometry(Chunk.java:151)
        at tectonicus.world.World.draw(World.java:535)

    <EnchantmentTable id="191:3" name="Thaumic Enchanter" top="C:/Tectonicus/thaumcraft.png[1, 10]" side="C:/Tectonicus/thaumcraft.png[0, 10]" front="C:/Tectonicus/thaumcraft.png[0, 10]" />

Same issue when trying to reuse Enchanting table to get a half-block that 
supports top/side textures.

Original issue reported on code.google.com by Zekao...@gmail.com on 2 May 2012 at 8:11

Attachments:

GoogleCodeExporter commented 9 years ago
I've attempted to fix the furnace, pumpkin, chest and slab texture issues. 
Please try the attached version and see if your results are any better with 
#2-4.

Would you also please post a screenshot of your sample world from Minecraft for 
comparison?

Original comment by sambened...@gmail.com on 3 May 2012 at 4:48

Attachments:

GoogleCodeExporter commented 9 years ago
Furnace,Pumpkin and unchanged when applied to EE collectors.  Still can't get 
the orientation right, but it looks like vanilla is fine.

I switched to <Slab id="132" name="Transmutation Tablet" 
texture="C:/Tectonicus/ee.png[11,1]"/>

And it's still doing the vanilla texture on the top.  Can slab support 
top/sides attributes instead of just texture?

Original comment by david.fr...@gmail.com on 3 May 2012 at 3:46

Attachments:

GoogleCodeExporter commented 9 years ago
Slab does support top and side or just texture, i.e.

<Slab id="44:3" name="Cobblestone Slab" texture="terrain[0, 1]" />

<Slab id="44:1" name="Sandstone Slab" side="terrain[0, 12]" top="terrain[0, 
11]" />

The orientation of the custom blocks is probably not using the same data values 
as the default blocks. It won't be possible to get them to face the correct 
direction with the current custom block xml. This is one of the issues a custom 
block plugin might resolve (see issue #7)

Original comment by sambened...@gmail.com on 3 May 2012 at 3:57

GoogleCodeExporter commented 9 years ago
david.frankson: Minecraft's furnace block uses the bottom 3 bits of 'block 
data' to determine it's orientation. If EE uses a different way of orientating 
them they'll likely not appear right.

Do you know of any documentation on how EE determines which direction the 
collectors appear in?

Original comment by orangytang on 3 May 2012 at 5:03

GoogleCodeExporter commented 9 years ago
Tectonicus is being moved over to GitHub here: 
https://github.com/tectonicus/tectonicus

I have imported this issue into the new GitHub project issue tracker: 
https://github.com/tectonicus/tectonicus/issues/9

Original comment by skoeven on 28 Aug 2014 at 3:59