Add support for substitution variables in model and texture files - update BuildCraft and IndustrialCraft2 support files to use them (so that custom block ID mappings cna be handled by adding configuration.txt settings)

This commit is contained in:
Mike Primm 2011-12-29 09:02:22 +08:00 committed by mikeprimm
parent ac6b3a072e
commit 09fbf312ac
6 changed files with 335 additions and 252 deletions

View File

@ -1,21 +1,26 @@
# BuildCraft Block mapping
# define buildcraft-support: true in configuration.txt to enable
enabled:buildcraft-support
# Variables - can be altered in configuration.txt
var:bc-autoWorkbench=152,bc-builder=157,bc-cobblestonePipe=159,bc-diamondPipe=149,bc-dockingStation=168,bc-drill=151
var:bc-engine=161,bc-filler=155,bc-frame=160,bc-goldenPipe=148,bc-ironPipe=147,bc-marker=154,bc-miningWell=150
var:bc-obsidianPipe=156,bc-oilMoving=162,bc-oilStill=163,bc-pipe=166,bc-pump=164,bc-quarry=153,bc-refinery=167
var:bc-stonePipe=146,bc-tank=165,bc-template=158,bc-woodenPipe=145
# Pipe - set render alg
linkmap:id=145,linkalg=5,linkid=146,linkid=147,linkid=148,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=146,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=148,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=147,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=148,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=148,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=149,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=148,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=156,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=148,linkid=149,linkid=159,linkid=166
linkmap:id=159,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=148,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=166,linkalg=5,linkid=145,linkid=146,linkid=147,linkid=148,linkid=149,linkid=156,linkid=159,linkid=166
linkmap:id=bc-woodenPipe,linkalg=5,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-stonePipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-ironPipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-goldenPipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-diamondPipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-obsidianPipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-cobblestonePipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
linkmap:id=bc-pipe,linkalg=5,linkid=bc-woodenPipe,linkid=bc-stonePipe,linkid=bc-ironPipe,linkid=bc-goldenPipe,linkid=bc-diamondPipe,linkid=bc-obsidianPipe,linkid=bc-cobblestonePipe,linkid=bc-pipe
# Frame
linkmap:id=160,linkalg=5,linkid=160
linkmap:id=bc-frame,linkalg=5,linkid=bc-frame
# Pipe - (data is faked: 1=north,2=east,4=south,8=west)
# Pipe - no neighbors
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=0,scale=4
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=0,scale=4
layer:1,2
----
-**-
@ -23,7 +28,7 @@ layer:1,2
----
# Pipe - just north neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=1,scale=4
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=1,scale=4
layer:1,2
-**-
-**-
@ -31,19 +36,19 @@ layer:1,2
----
# Pipe - just east neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=2,scale=4
rotate:id=145,data=1,rot=90
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=2,scale=4
rotate:id=bc-woodenPipe,data=1,rot=90
# Pipe - just south neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=4,scale=4
rotate:id=145,data=1,rot=180
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=4,scale=4
rotate:id=bc-woodenPipe,data=1,rot=180
# Pipe - just south neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=8,scale=4
rotate:id=145,data=1,rot=270
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=8,scale=4
rotate:id=bc-woodenPipe,data=1,rot=270
# Pipe - north and east neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=3,scale=4
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=3,scale=4
layer:1,2
-**-
-***
@ -51,19 +56,19 @@ layer:1,2
----
# Pipe - east and south neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=6,scale=4
rotate:id=145,data=3,rot=90
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=6,scale=4
rotate:id=bc-woodenPipe,data=3,rot=90
# Pipe - south and west neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=12,scale=4
rotate:id=145,data=3,rot=180
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=12,scale=4
rotate:id=bc-woodenPipe,data=3,rot=180
# Pipe - west and north neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=9,scale=4
rotate:id=145,data=3,rot=270
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=9,scale=4
rotate:id=bc-woodenPipe,data=3,rot=270
# Pipe - north and south neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=5,scale=4
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=5,scale=4
layer:1,2
-**-
-**-
@ -71,11 +76,11 @@ layer:1,2
-**-
# Pipe - east and west neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=10,scale=4
rotate:id=145,data=5,rot=90
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=10,scale=4
rotate:id=bc-woodenPipe,data=5,rot=90
# Pipe - north, east and south neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=7,scale=4
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=7,scale=4
layer:1,2
-**-
-***
@ -83,36 +88,36 @@ layer:1,2
-**-
# Pipe - east, south and west neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=14,scale=4
rotate:id=145,data=7,rot=90
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=14,scale=4
rotate:id=bc-woodenPipe,data=7,rot=90
# Pipe - south, west and north neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=13,scale=4
rotate:id=145,data=7,rot=180
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=13,scale=4
rotate:id=bc-woodenPipe,data=7,rot=180
# Pipe - west, north and east neighbor
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=11,scale=4
rotate:id=145,data=7,rot=270
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=11,scale=4
rotate:id=bc-woodenPipe,data=7,rot=270
# Pipe - north, south, east, west neightbors
# Frame
block:id=145,id=146,id=147,id=148,id=149,id=156,id=159,id=166,id=160,data=15,scale=4
block:id=bc-woodenPipe,id=bc-stonePipe,id=bc-ironPipe,id=bc-goldenPipe,id=bc-diamondPipe,id=bc-obsidianPipe,id=bc-cobblestonePipe,id=bc-pipe,id=bc-frame,data=15,scale=4
layer:1,2
-**-
****
****
-**-
# Drill - set render alg
linkmap:id=151,linkalg=5
linkmap:id=bc-drill,linkalg=5
# Drill - (data is faked: 1=north,2=east,4=south,8=west)
# Drill - no neighbors
block:id=151,data=0,scale=4
block:id=bc-drill,data=0,scale=4
layer:0,1,2,3
----
-**-
-**-
----
# Drill - just north neighbor
block:id=151,data=1,scale=4
block:id=bc-drill,data=1,scale=4
layer:0,3
----
-**-
@ -124,16 +129,16 @@ layer:1,2
-**-
----
# Drill - just east neighbor
block:id=151,data=2,scale=4
rotate:id=151,data=1,rot=90
block:id=bc-drill,data=2,scale=4
rotate:id=bc-drill,data=1,rot=90
# Drill - just south neighbor
block:id=151,data=4,scale=4
rotate:id=151,data=1,rot=180
block:id=bc-drill,data=4,scale=4
rotate:id=bc-drill,data=1,rot=180
# Drill - just south neighbor
block:id=151,data=8,scale=4
rotate:id=151,data=1,rot=270
block:id=bc-drill,data=8,scale=4
rotate:id=bc-drill,data=1,rot=270
# Drill - north and east neighbor
block:id=151,data=3,scale=4
block:id=bc-drill,data=3,scale=4
layer:0,3
----
-**-
@ -145,16 +150,16 @@ layer:1,2
-***
----
# Drill - east and south neighbor
block:id=151,data=6,scale=4
rotate:id=151,data=3,rot=90
block:id=bc-drill,data=6,scale=4
rotate:id=bc-drill,data=3,rot=90
# Drill - south and west neighbor
block:id=151,data=12,scale=4
rotate:id=151,data=3,rot=180
block:id=bc-drill,data=12,scale=4
rotate:id=bc-drill,data=3,rot=180
# Drill - west and north neighbor
block:id=151,data=9,scale=4
rotate:id=151,data=3,rot=270
block:id=bc-drill,data=9,scale=4
rotate:id=bc-drill,data=3,rot=270
# Drill - north and south neighbor
block:id=151,data=5,scale=4
block:id=bc-drill,data=5,scale=4
layer:0,3
----
-**-
@ -166,10 +171,10 @@ layer:1,2
-**-
-**-
# Drill - east and west neighbor
block:id=151,data=10,scale=4
rotate:id=151,data=5,rot=90
block:id=bc-drill,data=10,scale=4
rotate:id=bc-drill,data=5,rot=90
# Drill - north, east and south neighbor
block:id=151,data=7,scale=4
block:id=bc-drill,data=7,scale=4
layer:0,3
----
-**-
@ -181,16 +186,16 @@ layer:1,2
-***
-**-
# Drill - east, south and west neighbor
block:id=151,data=14,scale=4
rotate:id=151,data=7,rot=90
block:id=bc-drill,data=14,scale=4
rotate:id=bc-drill,data=7,rot=90
# Drill - south, west and north neighbor
block:id=151,data=13,scale=4
rotate:id=151,data=7,rot=180
block:id=bc-drill,data=13,scale=4
rotate:id=bc-drill,data=7,rot=180
# Drill - west, north and east neighbor
block:id=151,data=11,scale=4
rotate:id=151,data=7,rot=270
block:id=bc-drill,data=11,scale=4
rotate:id=bc-drill,data=7,rot=270
# Drill - north, south, east, west neightbors
block:id=151,data=15,scale=4
block:id=bc-drill,data=15,scale=4
layer:0,3
----
-**-
@ -202,7 +207,7 @@ layer:1,2
****
-**-
# Marker
block:id=154,data=*,scale=8
block:id=bc-marker,data=*,scale=8
layer:0,1,2,3,4,5,6,7
--------
--------
@ -213,7 +218,7 @@ layer:0,1,2,3,4,5,6,7
--------
--------
# Engine
block:id=161,data=*,scale=8
block:id=bc-engine,data=*,scale=8
layer:2,3
********
********
@ -233,21 +238,21 @@ layer:4,5,6,7
--------
--------
# Oil, flowing
block:id=162,data=*,scale=4
block:id=bc-oilMoving,data=*,scale=4
layer:0
****
****
****
****
# Oil
block:id=163,data=*,scale=4
block:id=bc-oilStill,data=*,scale=4
layer:0,1
****
****
****
****
# Tank
block:id=165,data=*,scale=8
block:id=bc-tank,data=*,scale=8
layer:0,1,2,3,4,5,6,7
--------
-******-

View File

@ -1,69 +1,74 @@
# BuildCraft Block mapping
# define buildcraft-support: true in configuration.txt to enable
enabled:buildcraft-support
# Variables - can be altered in configuration.txt
var:bc-autoWorkbench=152,bc-builder=157,bc-cobblestonePipe=159,bc-diamondPipe=149,bc-dockingStation=168,bc-drill=151
var:bc-engine=161,bc-filler=155,bc-frame=160,bc-goldenPipe=148,bc-ironPipe=147,bc-marker=154,bc-miningWell=150
var:bc-obsidianPipe=156,bc-oilMoving=162,bc-oilStill=163,bc-pipe=166,bc-pump=164,bc-quarry=153,bc-refinery=167
var:bc-stonePipe=146,bc-tank=165,bc-template=158,bc-woodenPipe=145
# Files
texturefile:id=blk,filename=buildcraft/block_textures.png,xcount=16,ycount=16
texturefile:id=wood,filename=buildcraft/base_wood.png,xcount=4,ycount=2
texturefile:id=iron,filename=buildcraft/base_iron.png,xcount=4,ycount=2
texturefile:id=stone,filename=buildcraft/base_stone.png,xcount=4,ycount=2
# WOODEN_PIPE_ID = 145
block:id=145,data=*,allfaces=16,txtid=blk,transparency=TRANSPARENT
block:id=bc-woodenPipe,data=*,allfaces=16,txtid=blk,transparency=TRANSPARENT
# STONE_PIPE_ID = 146
block:id=146,data=*,allfaces=29,txtid=blk,transparency=TRANSPARENT
block:id=bc-stonePipe,data=*,allfaces=29,txtid=blk,transparency=TRANSPARENT
# IRON_PIPE_ID = 147
block:id=147,data=*,allfaces=19,txtid=blk,transparency=TRANSPARENT
block:id=bc-ironPipe,data=*,allfaces=19,txtid=blk,transparency=TRANSPARENT
# GOLDEN_PIPE_ID = 148
block:id=148,data=*,allfaces=20,txtid=blk,transparency=TRANSPARENT
block:id=bc-goldenPipe,data=*,allfaces=20,txtid=blk,transparency=TRANSPARENT
# DIAMOND_PIPE_ID = 149
block:id=149,data=*,allfaces=21,txtid=blk,transparency=TRANSPARENT
block:id=bc-diamondPipe,data=*,allfaces=21,txtid=blk,transparency=TRANSPARENT
# MINING_WELL_ID = 150
block:id=150,data=2,east=35,top=4036,north=37,south=37,west=38,bottom=38,txtid=blk
block:id=150,data=3,west=35,top=4036,north=37,south=37,east=38,bottom=38,txtid=blk
block:id=150,data=4,north=35,top=4036,east=37,west=37,south=38,bottom=38,txtid=blk
block:id=150,data=5,south=35,top=4036,east=37,west=37,north=38,bottom=38,txtid=blk
block:id=bc-miningWell,data=2,east=35,top=4036,north=37,south=37,west=38,bottom=38,txtid=blk
block:id=bc-miningWell,data=3,west=35,top=4036,north=37,south=37,east=38,bottom=38,txtid=blk
block:id=bc-miningWell,data=4,north=35,top=4036,east=37,west=37,south=38,bottom=38,txtid=blk
block:id=bc-miningWell,data=5,south=35,top=4036,east=37,west=37,north=38,bottom=38,txtid=blk
# DRILL_ID = 151
block:id=151,data=*,allfaces=32,txtid=blk,transparency=TRANSPARENT
block:id=bc-drill,data=*,allfaces=32,txtid=blk,transparency=TRANSPARENT
# AUTO_WORKBENCH_ID = 152
block:id=152,data=*,allsides=44,topbottom=4043
block:id=bc-autoWorkbench,data=*,allsides=44,topbottom=4043
# QUARRY_ID = 153
block:id=153,data=2,east=39,top=4040,north=38,south=38,west=38,bottom=38,txtid=blk
block:id=153,data=3,west=39,top=4040,north=38,south=38,east=38,bottom=38,txtid=blk
block:id=153,data=4,north=39,top=4040,east=38,west=38,south=38,bottom=38,txtid=blk
block:id=153,data=5,south=39,top=4040,east=38,west=38,north=38,bottom=38,txtid=blk
block:id=bc-quarry,data=2,east=39,top=4040,north=38,south=38,west=38,bottom=38,txtid=blk
block:id=bc-quarry,data=3,west=39,top=4040,north=38,south=38,east=38,bottom=38,txtid=blk
block:id=bc-quarry,data=4,north=39,top=4040,east=38,west=38,south=38,bottom=38,txtid=blk
block:id=bc-quarry,data=5,south=39,top=4040,east=38,west=38,north=38,bottom=38,txtid=blk
# MARKER_ID = 154
block:id=154,data=*,allsides=57,txtid=blk,transparency=TRANSPARENT
block:id=bc-marker,data=*,allsides=57,txtid=blk,transparency=TRANSPARENT
# FILLER_ID = 155
block:id=155,data=*,allsides=66,topbottom=4065,txtid=blk
block:id=bc-filler,data=*,allsides=66,topbottom=4065,txtid=blk
# OBSIDIAN_PIPE_ID = 156
block:id=156,data=*,allfaces=28,txtid=blk,transparency=TRANSPARENT
block:id=bc-obsidianPipe,data=*,allfaces=28,txtid=blk,transparency=TRANSPARENT
# BUILDER_ID = 157
block:id=157,data=2,east=55,top=4054,north=3,south=3,west=3,bottom=3,txtid=blk
block:id=157,data=3,west=55,top=4054,north=3,south=3,east=3,bottom=3,txtid=blk
block:id=157,data=4,north=55,top=4054,east=3,west=3,south=3,bottom=3,txtid=blk
block:id=157,data=5,south=55,top=4054,east=3,west=3,north=3,bottom=3,txtid=blk
block:id=bc-builder,data=2,east=55,top=4054,north=3,south=3,west=3,bottom=3,txtid=blk
block:id=bc-builder,data=3,west=55,top=4054,north=3,south=3,east=3,bottom=3,txtid=blk
block:id=bc-builder,data=4,north=55,top=4054,east=3,west=3,south=3,bottom=3,txtid=blk
block:id=bc-builder,data=5,south=55,top=4054,east=3,west=3,north=3,bottom=3,txtid=blk
# TEMPLATE_ID = 158
block:id=158,data=2,east=52,top=4050,north=48,south=48,west=48,bottom=48,txtid=blk
block:id=158,data=3,west=52,top=4050,north=48,south=48,east=48,bottom=48,txtid=blk
block:id=158,data=4,north=52,top=4050,east=48,west=48,south=48,bottom=48,txtid=blk
block:id=158,data=5,south=52,top=4050,east=48,west=48,north=48,bottom=48,txtid=blk
block:id=bc-template,data=2,east=52,top=4050,north=48,south=48,west=48,bottom=48,txtid=blk
block:id=bc-template,data=3,west=52,top=4050,north=48,south=48,east=48,bottom=48,txtid=blk
block:id=bc-template,data=4,north=52,top=4050,east=48,west=48,south=48,bottom=48,txtid=blk
block:id=bc-template,data=5,south=52,top=4050,east=48,west=48,north=48,bottom=48,txtid=blk
# COBBLESTONE_PIPE_ID = 159
block:id=159,data=*,allfaces=17,txtid=blk,transparency=TRANSPARENT
block:id=bc-cobblestonePipe,data=*,allfaces=17,txtid=blk,transparency=TRANSPARENT
# FRAME_ID = 160
block:id=160,data=*,allfaces=34,txtid=blk,transparency=TRANSPARENT
block:id=bc-frame,data=*,allfaces=34,txtid=blk,transparency=TRANSPARENT
# ENGINE_ID = 161
block:id=161,data=0,north=8004,east=8005,south=8006,west=8007,top=1,bottom=2,txtid=wood
block:id=161,data=1,north=8004,east=8005,south=8006,west=8007,top=1,bottom=2,txtid=stone
block:id=161,data=2,north=8004,east=8005,south=8006,west=8007,top=1,bottom=2,txtid=iron
block:id=bc-engine,data=0,north=8004,east=8005,south=8006,west=8007,top=1,bottom=2,txtid=wood
block:id=bc-engine,data=1,north=8004,east=8005,south=8006,west=8007,top=1,bottom=2,txtid=stone
block:id=bc-engine,data=2,north=8004,east=8005,south=8006,west=8007,top=1,bottom=2,txtid=iron
# OIL_MOVING_ID = 162
block:id=162,data=*,allfaces=223,txtid=blk
block:id=bc-oilMoving,data=*,allfaces=223,txtid=blk
# OIL_STILL_ID = 163
block:id=163,data=*,allfaces=223,txtid=blk
block:id=bc-oilStill,data=*,allfaces=223,txtid=blk
# PUMP_ID = 164
block:id=164,data=*,allsides=99,top=4064,bottom=100,txtid=blk
block:id=bc-pump,data=*,allsides=99,top=4064,bottom=100,txtid=blk
# TANK_ID = 165
block:id=165,data=*,allsides=96,topbottom=98,txtid=blk,transparency=TRANSPARENT
block:id=bc-tank,data=*,allsides=96,topbottom=98,txtid=blk,transparency=TRANSPARENT
# GENERIC_PIPE_ID = 166 : entity data based, so we can't handle it yet: just map to one type (iron)
block:id=166,data=*,allfaces=18,txtid=blk,transparency=TRANSPARENT
block:id=bc-pipe,data=*,allfaces=18,txtid=blk,transparency=TRANSPARENT
# REFINERY_ID = 167 - funky texture mapping - just do tank for now
block:id=167,data=*,allsides=96,topbottom=98,txtid=blk,transparency=TRANSPARENT
block:id=bc-refinery,data=*,allsides=96,topbottom=98,txtid=blk,transparency=TRANSPARENT
# DOCKING_STATION_ID = 168

View File

@ -1,11 +1,13 @@
# Industrial Craft 2 Texture mapping
# define ic2-support: true in configuration.txt to enable
enabled:ic2-support
# variables: set in configuration.txt to override
var: ic2-blockCable=228,ic2-blockFenceIron=232,ic2-blockMachine2=223,ic2-blockPersonal=225,ic2-blockLuminator=226,ic2-blockElectric=227,ic2-blockReactorChamber=233,ic2-blockNuke=237,ic2-blockGenerator=246,ic2blockMachine=250
# Wire - set render alg
linkmap:id=228,linkalg=5,linkid=223,linkid=225,linkid=226,linkid=227,linkid=228,linkid=233,linkid=237,linkid=246,linkid=250
linkmap:id=ic2-blockCable,linkalg=5,linkid=ic2-blockMachine2,linkid=ic2-blockPersonal,linkid=ic2-blockLuminator,linkid=ic2-blockElectric,linkid=ic2-blockCable,linkid=ic2-blockReactorChamber,linkid=ic2-blockNuke,linkid=ic2-blockGenerator,linkid=ic2blockMachine
# Wire - (data is faked: 1=north,2=east,4=south,8=west)
# Wire - no neighbors
block:id=228,data=0,scale=16
block:id=ic2-blockCable,data=0,scale=16
layer:5,6,7,8,9,10
----------------
----------------
@ -24,7 +26,7 @@ layer:5,6,7,8,9,10
----------------
----------------
# Wire - just north neighbor
block:id=228,data=1,scale=16
block:id=ic2-blockCable,data=1,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@ -43,16 +45,16 @@ layer:5,6,7,8,9,10
----------------
----------------
# Wire - just east neighbor
block:id=228,data=2,scale=16
rotate:id=228,data=1,rot=90
block:id=ic2-blockCable,data=2,scale=16
rotate:id=ic2-blockCable,data=1,rot=90
# Wire - just south neighbor
block:id=228,id=113,data=4,scale=16
rotate:id=228,data=1,rot=180
block:id=ic2-blockCable,id=113,data=4,scale=16
rotate:id=ic2-blockCable,data=1,rot=180
# Wire - just south neighbor
block:id=228,data=8,scale=16
rotate:id=228,data=1,rot=270
block:id=ic2-blockCable,data=8,scale=16
rotate:id=ic2-blockCable,data=1,rot=270
# Wire - north and east neighbor
block:id=228,data=3,scale=16
block:id=ic2-blockCable,data=3,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@ -71,16 +73,16 @@ layer:5,6,7,8,9,10
----------------
----------------
# Wire - east and south neighbor
block:id=228,data=6,scale=16
rotate:id=228,data=3,rot=90
block:id=ic2-blockCable,data=6,scale=16
rotate:id=ic2-blockCable,data=3,rot=90
# Wire - south and west neighbor
block:id=228,data=12,scale=16
rotate:id=228,data=3,rot=180
block:id=ic2-blockCable,data=12,scale=16
rotate:id=ic2-blockCable,data=3,rot=180
# Wire - west and north neighbor
block:id=228,data=9,scale=16
rotate:id=228,data=3,rot=270
block:id=ic2-blockCable,data=9,scale=16
rotate:id=ic2-blockCable,data=3,rot=270
# Wire - north and south neighbor
block:id=228,data=5,scale=16
block:id=ic2-blockCable,data=5,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@ -99,10 +101,10 @@ layer:5,6,7,8,9,10
-----******-----
-----******-----
# Wire - east and west neighbor
block:id=228,data=10,scale=16
rotate:id=228,data=5,rot=90
block:id=ic2-blockCable,data=10,scale=16
rotate:id=ic2-blockCable,data=5,rot=90
# Wire - north, east and south neighbor
block:id=228,data=7,scale=16
block:id=ic2-blockCable,data=7,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@ -121,16 +123,16 @@ layer:5,6,7,8,9,10
-----******-----
-----******-----
# Wire - east, south and west neighbor
block:id=228,data=14,scale=16
rotate:id=228,data=7,rot=90
block:id=ic2-blockCable,data=14,scale=16
rotate:id=ic2-blockCable,data=7,rot=90
# Wire - south, west and north neighbor
block:id=228,data=13,scale=16
rotate:id=228,data=7,rot=180
block:id=ic2-blockCable,data=13,scale=16
rotate:id=ic2-blockCable,data=7,rot=180
# Wire - west, north and east neighbor
block:id=228,data=11,scale=16
rotate:id=228,data=7,rot=270
block:id=ic2-blockCable,data=11,scale=16
rotate:id=ic2-blockCable,data=7,rot=270
# Wire - north, south, east, west neightbors
block:id=228,data=15,scale=16
block:id=ic2-blockCable,data=15,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@ -149,53 +151,53 @@ layer:5,6,7,8,9,10
-----******-----
-----******-----
# Iron Fence - set render algorithm
linkmap:id=232,linkalg=1
linkmap:id=ic2-blockFenceIron,linkalg=1
# Iron Fence - (data is faked: 1=north,2=east,4=south,8=west)
# Iron Fence - no neighbors
block:id=232,data=0,scale=16
block:id=ic2-blockFenceIron,data=0,scale=16
rotate:id=85,data=0,rot=0
# Iron Fence - just north neighbor
block:id=232,data=1,scale=16
block:id=ic2-blockFenceIron,data=1,scale=16
rotate:id=85,data=1,rot=0
# Iron Fence - just east neighbor
block:id=232,data=2,scale=16
rotate:id=232,data=1,rot=90
block:id=ic2-blockFenceIron,data=2,scale=16
rotate:id=ic2-blockFenceIron,data=1,rot=90
# Iron Fence - just south neighbor
block:id=232,data=4,scale=16
rotate:id=232,data=1,rot=180
block:id=ic2-blockFenceIron,data=4,scale=16
rotate:id=ic2-blockFenceIron,data=1,rot=180
# Iron Fence - just south neighbor
block:id=232,data=8,scale=16
rotate:id=232,data=1,rot=270
block:id=ic2-blockFenceIron,data=8,scale=16
rotate:id=ic2-blockFenceIron,data=1,rot=270
# Iron Fence - north and east neighbor
block:id=232,data=3,scale=16
block:id=ic2-blockFenceIron,data=3,scale=16
rotate:id=85,data=3,rot=0
# Iron Fence - east and south neighbor
block:id=232,data=6,scale=16
rotate:id=232,data=3,rot=90
block:id=ic2-blockFenceIron,data=6,scale=16
rotate:id=ic2-blockFenceIron,data=3,rot=90
# Iron Fence - south and west neighbor
block:id=232,data=12,scale=16
block:id=ic2-blockFenceIron,data=12,scale=16
rotate:id=85,data=3,rot=180
# Iron Fence - west and north neighbor
block:id=232,data=9,scale=16
block:id=ic2-blockFenceIron,data=9,scale=16
rotate:id=85,data=3,rot=270
# Iron Fence - north and south neighbor
block:id=232,data=5,scale=16
block:id=ic2-blockFenceIron,data=5,scale=16
rotate:id=85,data=5,rot=0
# Iron Fence - east and west neighbor
block:id=232,id=113,data=10,scale=16
rotate:id=232,data=5,rot=90
block:id=ic2-blockFenceIron,id=113,data=10,scale=16
rotate:id=ic2-blockFenceIron,data=5,rot=90
# Iron Fence - north, east and south neighbor
block:id=232,data=7,scale=16
block:id=ic2-blockFenceIron,data=7,scale=16
rotate:id=85,data=7,rot=0
# Iron Fence - east, south and west neighbor
block:id=232,data=14,scale=16
rotate:id=232,data=7,rot=90
block:id=ic2-blockFenceIron,data=14,scale=16
rotate:id=ic2-blockFenceIron,data=7,rot=90
# Iron Fence - south, west and north neighbor
block:id=232,data=13,scale=16
rotate:id=232,data=7,rot=180
block:id=ic2-blockFenceIron,data=13,scale=16
rotate:id=ic2-blockFenceIron,data=7,rot=180
# Iron Fence - west, north and east neighbor
block:id=232,data=11,scale=16
rotate:id=232,data=7,rot=270
block:id=ic2-blockFenceIron,data=11,scale=16
rotate:id=ic2-blockFenceIron,data=7,rot=270
# Iron Fence - north, south, east, west neightbors
block:id=232,data=15,scale=16
rotate:id=232,data=15,rot=0
block:id=ic2-blockFenceIron,data=15,scale=16
rotate:id=ic2-blockFenceIron,data=15,rot=0

View File

@ -1,6 +1,12 @@
# Industrial Craft 2 Block mapping
# define ic2-support: true in configuration.txt to enable
enabled:ic2-support
# variables: set in configuration.txt to override
var:ic2-blockScaffold=220,ic2-blockWall=221,ic2-blockFoam=222,ic2-blockMachine2=223,ic2-blockMetal=224,ic2-blockPersonal=225,ic2-blockLuminator=226,ic2-blockElectric=227
var:ic2-blockCable=228,ic2-blockDoorAlloy=229,ic2-blockAlloyGlass=230,ic2-blockAlloy=231,ic2-blockFenceIron=232,ic2-blockReactorChamber=233
var:ic2-blockRubber=234,ic2-blockDynamiteRemote=235,ic2-blockDynamite=236,ic2-blockNuke=237,ic2-blockITNT=239,ic2-blockHarz=240,ic2-blockRubSapling=241
var:ic2-blockRubLeaves=242,ic2-blockRubWood=243,ic2-blockMiningTip=244,ic2-blockMiningPipe=245,ic2-blockGenerator=246
var:ic2-blockOreUran=247,ic2-blockOreTin=248,ic2-blockOreCopper=249,ic2-blockMachine=250
# Files
texturefile:id=blk0,filename=ic2/sprites/block_0.png,xcount=16,ycount=16
texturefile:id=cable,filename=ic2/sprites/block_cable.png,xcount=16,ycount=16
@ -12,186 +18,186 @@ texturefile:id=pers,filename=ic2/sprites/block_personal.png,xcount=16,ycount=16
# Blocks
# blockScaffold=220
# data=*
block:id=220,data=*,allsides=116,topbottom=117,txtid=blk0
block:id=ic2-blockScaffold,data=*,allsides=116,topbottom=117,txtid=blk0
# data=2
block:id=220,data=2,allfaces=118,txtid=blk0
block:id=ic2-blockScaffold,data=2,allfaces=118,txtid=blk0
# blockWall=221
# data=0
block:id=221,data=0,allfaces=96,txtid=blk0
block:id=ic2-blockWall,data=0,allfaces=96,txtid=blk0
# data=1
block:id=221,data=1,allfaces=97,txtid=blk0
block:id=ic2-blockWall,data=1,allfaces=97,txtid=blk0
# data=2
block:id=221,data=2,allfaces=98,txtid=blk0
block:id=ic2-blockWall,data=2,allfaces=98,txtid=blk0
# data=3
block:id=221,data=3,allfaces=99,txtid=blk0
block:id=ic2-blockWall,data=3,allfaces=99,txtid=blk0
# data=4
block:id=221,data=4,allfaces=100,txtid=blk0
block:id=ic2-blockWall,data=4,allfaces=100,txtid=blk0
# data=5
block:id=221,data=5,allfaces=101,txtid=blk0
block:id=ic2-blockWall,data=5,allfaces=101,txtid=blk0
# data=6
block:id=221,data=6,allfaces=102,txtid=blk0
block:id=ic2-blockWall,data=6,allfaces=102,txtid=blk0
# data=7
block:id=221,data=7,allfaces=103,txtid=blk0
block:id=ic2-blockWall,data=7,allfaces=103,txtid=blk0
# data=8
block:id=221,data=8,allfaces=104,txtid=blk0
block:id=ic2-blockWall,data=8,allfaces=104,txtid=blk0
# data=9
block:id=221,data=9,allfaces=105,txtid=blk0
block:id=ic2-blockWall,data=9,allfaces=105,txtid=blk0
# data=10
block:id=221,data=10,allfaces=106,txtid=blk0
block:id=ic2-blockWall,data=10,allfaces=106,txtid=blk0
# data=11
block:id=221,data=11,allfaces=107,txtid=blk0
block:id=ic2-blockWall,data=11,allfaces=107,txtid=blk0
# data=12
block:id=221,data=12,allfaces=108,txtid=blk0
block:id=ic2-blockWall,data=12,allfaces=108,txtid=blk0
# data=13
block:id=221,data=13,allfaces=109,txtid=blk0
block:id=ic2-blockWall,data=13,allfaces=109,txtid=blk0
# data=14
block:id=221,data=14,allfaces=110,txtid=blk0
block:id=ic2-blockWall,data=14,allfaces=110,txtid=blk0
# data=15
block:id=221,data=15,allfaces=111,txtid=blk0
block:id=ic2-blockWall,data=15,allfaces=111,txtid=blk0
# blockFoam=222
block:id=222,data=*,allfaces=37
block:id=ic2-blockFoam,data=*,allfaces=37
# blockMachine2=223
# data=0
block:id=223,data=0,top=0,bottom=16,north=32,south=48,east=64,west=80,txtid=mach2
block:id=ic2-blockMachine2,data=0,top=0,bottom=16,north=32,south=48,east=64,west=80,txtid=mach2
# data=1
block:id=223,data=1,top=1,bottom=17,north=33,south=49,east=65,west=81,txtid=mach2
block:id=ic2-blockMachine2,data=1,top=1,bottom=17,north=33,south=49,east=65,west=81,txtid=mach2
# blockMetal=224
# data=0 (copper)
block:id=224,data=0,allfaces=93,txtid=blk0
block:id=ic2-blockMetal,data=0,allfaces=93,txtid=blk0
# data=1 (tin)
block:id=224,data=1,allfaces=94,txtid=blk0
block:id=ic2-blockMetal,data=1,allfaces=94,txtid=blk0
# data=2 (bronze)
block:id=224,data=2,allfaces=78,txtid=blk0
block:id=ic2-blockMetal,data=2,allfaces=78,txtid=blk0
# data=3 (uranium)
block:id=224,data=3,topbottom=79,allsides=95,txtid=blk0
block:id=ic2-blockMetal,data=3,topbottom=79,allsides=95,txtid=blk0
# blockPersonal=225
# data=0
block:id=225,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=pers
block:id=ic2-blockPersonal,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=pers
# data=1
block:id=225,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=pers
block:id=ic2-blockPersonal,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=pers
# blockLuminator=226
block:id=226,data=*,allfaces=31,txtid=blk0
block:id=ic2-blockLuminator,data=*,allfaces=31,txtid=blk0
# blockElectric=227
# data=0
block:id=227,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=elec
block:id=ic2-blockElectric,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=elec
# data=1
block:id=227,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=elec
block:id=ic2-blockElectric,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=elec
# data=2
block:id=227,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=elec
block:id=ic2-blockElectric,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=elec
# data=3
block:id=227,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=elec
block:id=ic2-blockElectric,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=elec
# data=4
block:id=227,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=elec
block:id=ic2-blockElectric,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=elec
# data=5
block:id=227,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=elec
block:id=ic2-blockElectric,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=elec
# blockCable=228
# data=0
block:id=228,data=0,allfaces=0,txtid=cable
block:id=ic2-blockCable,data=0,allfaces=0,txtid=cable
# data=1
block:id=228,data=1,allfaces=16,txtid=cable
block:id=ic2-blockCable,data=1,allfaces=16,txtid=cable
# data=2
block:id=228,data=2,allfaces=32,txtid=cable
block:id=ic2-blockCable,data=2,allfaces=32,txtid=cable
# data=3
block:id=228,data=3,allfaces=48,txtid=cable
block:id=ic2-blockCable,data=3,allfaces=48,txtid=cable
# data=4
block:id=228,data=4,allfaces=64,txtid=cable
block:id=ic2-blockCable,data=4,allfaces=64,txtid=cable
# data=5
block:id=228,data=5,allfaces=80,txtid=cable
block:id=ic2-blockCable,data=5,allfaces=80,txtid=cable
# data=6
block:id=228,data=6,allfaces=96,txtid=cable
block:id=ic2-blockCable,data=6,allfaces=96,txtid=cable
# data=7
block:id=228,data=7,allfaces=112,txtid=cable
block:id=ic2-blockCable,data=7,allfaces=112,txtid=cable
# data=8
block:id=228,data=8,allfaces=128,txtid=cable
block:id=ic2-blockCable,data=8,allfaces=128,txtid=cable
# data=9
block:id=228,data=9,allfaces=144,txtid=cable
block:id=ic2-blockCable,data=9,allfaces=144,txtid=cable
# data=10
block:id=228,data=10,allfaces=160,txtid=cable
block:id=ic2-blockCable,data=10,allfaces=160,txtid=cable
# blockDoorAlloy=229
# data=0-7 (bottom)
block:id=229,data=0,data=1,data=2,data=3,data=4,data=5,data=6,data=7,allsides=15,topbottom=12,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockDoorAlloy,data=0,data=1,data=2,data=3,data=4,data=5,data=6,data=7,allsides=15,topbottom=12,transparency=TRANSPARENT,txtid=blk0
# data=8-15 (top)
block:id=229,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=14,topbottom=12,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockDoorAlloy,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=14,topbottom=12,transparency=TRANSPARENT,txtid=blk0
# blockAlloyGlass=230
block:id=230,data=*,allfaces=13,txtid=blk0,transparency=TRANSPARENT
block:id=ic2-blockAlloyGlass,data=*,allfaces=13,txtid=blk0,transparency=TRANSPARENT
# blockAlloy=231
block:id=231,data=*,allfaces=12,txtid=blk0
block:id=ic2-blockAlloy,data=*,allfaces=12,txtid=blk0
# blockFenceIron=232
block:id=232,data=*,allfaces=1,txtid=blk0,transparency=TRANSPARENT
block:id=ic2-blockFenceIron,data=*,allfaces=1,txtid=blk0,transparency=TRANSPARENT
# blockReactorChamber=233
block:id=233,data=*,bottom=16,top=17,allsides=67,txtid=blk0
block:id=ic2-blockReactorChamber,data=*,bottom=16,top=17,allsides=67,txtid=blk0
# blockRubber=234
block:id=234,data=*,allfaces=40,txtid=blk0
block:id=ic2-blockRubber,data=*,allfaces=40,txtid=blk0
# blockDynamiteRemote=235
block:id=235,data=*,allsides=56,txtid=blk0
block:id=ic2-blockDynamiteRemote,data=*,allsides=56,txtid=blk0
# blockDynamite=236
block:id=236,data=*,allsides=57,txtid=blk0
block:id=ic2-blockDynamite,data=*,allsides=57,txtid=blk0
# blockNuke=237
block:id=237,data=*,bottom=61,top=62,allsides=63,txtid=blk0
block:id=ic2-blockNuke,data=*,bottom=61,top=62,allsides=63,txtid=blk0
# ?=238
# blockITNT=239
block:id=239,data=*,bottom=58,top=59,allsides=60,txtid=blk0
block:id=ic2-blockITNT,data=*,bottom=58,top=59,allsides=60,txtid=blk0
# blockHarz=240
block:id=240,data=*,allfaces=43,txtid=blk0
block:id=ic2-blockHarz,data=*,allfaces=43,txtid=blk0
# blockRubSapling=241
block:id=241,data=*,allsides=2038,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockRubSapling,data=*,allsides=2038,transparency=TRANSPARENT,txtid=blk0
# blockRubLeaves=242
block:id=242,data=*,allfaces=2040,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockRubLeaves,data=*,allfaces=2040,transparency=TRANSPARENT,txtid=blk0
# blockRubWood=243
block:id=243,data=*,topbottom=47,allsides=44,txtid=blk0
block:id=ic2-blockRubWood,data=*,topbottom=47,allsides=44,txtid=blk0
# blockMiningTip=244
block:id=244,data=*,allfaces=36,txtid=blk0
block:id=ic2-blockMiningTip,data=*,allfaces=36,txtid=blk0
# blockMiningPipe=245
block:id=245,data=*,allfaces=35,txtid=blk0
block:id=ic2-blockMiningPipe,data=*,allfaces=35,txtid=blk0
# blockGenerator=246
# data=0
block:id=246,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=gen
block:id=ic2-blockGenerator,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=gen
# data=1
block:id=246,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=gen
block:id=ic2-blockGenerator,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=gen
# data=2
block:id=246,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=gen
block:id=ic2-blockGenerator,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=gen
# data=3
block:id=246,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=gen
block:id=ic2-blockGenerator,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=gen
# data=4
block:id=246,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=gen
block:id=ic2-blockGenerator,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=gen
# data=5
block:id=246,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=gen
block:id=ic2-blockGenerator,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=gen
# blockOreUran=247
block:id=247,data=*,allfaces=34,txtid=blk0
block:id=ic2-blockOreUran,data=*,allfaces=34,txtid=blk0
# blockOreTin=248
block:id=248,data=*,allfaces=33,txtid=blk0
block:id=ic2-blockOreTin,data=*,allfaces=33,txtid=blk0
# blockOreCopper=249
block:id=249,data=*,allfaces=32,txtid=blk0
block:id=ic2-blockOreCopper,data=*,allfaces=32,txtid=blk0
# blockMachine=250
# data=0
block:id=250,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=mach
block:id=ic2-blockMachine,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=mach
# data=1
block:id=250,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=mach
block:id=ic2-blockMachine,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=mach
# data=2
block:id=250,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=mach
block:id=ic2-blockMachine,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=mach
# data=3
block:id=250,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=mach
block:id=ic2-blockMachine,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=mach
# data=4
block:id=250,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=mach
block:id=ic2-blockMachine,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=mach
# data=5
block:id=250,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=mach
block:id=ic2-blockMachine,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=mach
# data=6
block:id=250,data=6,bottom=6,top=22,north=38,south=54,east=70,west=86,txtid=mach
block:id=ic2-blockMachine,data=6,bottom=6,top=22,north=38,south=54,east=70,west=86,txtid=mach
# data=7
block:id=250,data=7,bottom=7,top=23,north=39,south=55,east=71,west=87,txtid=mach
block:id=ic2-blockMachine,data=7,bottom=7,top=23,north=39,south=55,east=71,west=87,txtid=mach
# data=8
block:id=250,data=8,bottom=8,top=24,north=40,south=56,east=72,west=88,txtid=mach
block:id=ic2-blockMachine,data=8,bottom=8,top=24,north=40,south=56,east=72,west=88,txtid=mach
# data=9
block:id=250,data=9,bottom=9,top=25,north=41,south=57,east=73,west=89,txtid=mach
block:id=ic2-blockMachine,data=9,bottom=9,top=25,north=41,south=57,east=73,west=89,txtid=mach
# data=10
block:id=250,data=10,bottom=10,top=26,north=42,south=58,east=74,west=90,txtid=mach
block:id=ic2-blockMachine,data=10,bottom=10,top=26,north=42,south=58,east=74,west=90,txtid=mach
# data=11
block:id=250,data=11,bottom=11,top=27,north=43,south=59,east=75,west=91,txtid=mach
block:id=ic2-blockMachine,data=11,bottom=11,top=27,north=43,south=59,east=75,west=91,txtid=mach
# data=12
block:id=250,data=12,bottom=12,top=28,north=44,south=60,east=76,west=92,txtid=mach
block:id=ic2-blockMachine,data=12,bottom=12,top=28,north=44,south=60,east=76,west=92,txtid=mach
# data=13
block:id=250,data=13,bottom=13,top=29,north=45,south=61,east=77,west=93,txtid=mach
block:id=ic2-blockMachine,data=13,bottom=13,top=29,north=45,south=61,east=77,west=93,txtid=mach
# data=14
block:id=250,data=14,bottom=14,top=30,north=46,south=62,east=78,west=94,txtid=mach
block:id=ic2-blockMachine,data=14,bottom=14,top=30,north=46,south=62,east=78,west=94,txtid=mach
# data=15
block:id=250,data=15,bottom=15,top=31,north=47,south=63,east=79,west=95,txtid=mach
block:id=ic2-blockMachine,data=15,bottom=15,top=31,north=47,south=63,east=79,west=95,txtid=mach

View File

@ -12,6 +12,7 @@ import java.io.LineNumberReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.bukkit.Material;
import org.dynmap.ConfigurationNode;
@ -323,6 +324,17 @@ public class HDBlockModels {
}
}
}
private static Integer getIntValue(Map<String,Integer> vars, String val) throws NumberFormatException {
if(Character.isLetter(val.charAt(0))) {
Integer v = vars.get(val);
if(v == null)
throw new NumberFormatException("invalid ID - " + val);
return v;
}
else {
return Integer.valueOf(val);
}
}
/**
* Load models from file
*/
@ -332,6 +344,7 @@ public class HDBlockModels {
try {
String line;
ArrayList<HDBlockModels> modlist = new ArrayList<HDBlockModels>();
HashMap<String,Integer> varvals = new HashMap<String,Integer>();
int layerbits = 0;
int rownum = 0;
int scale = 0;
@ -347,13 +360,13 @@ public class HDBlockModels {
String[] av = a.split("=");
if(av.length < 2) continue;
if(av[0].equals("id")) {
blkids.add(Integer.parseInt(av[1]));
blkids.add(getIntValue(varvals,av[1]));
}
else if(av[0].equals("data")) {
if(av[1].equals("*"))
databits = 0xFFFF;
else
databits |= (1 << Integer.parseInt(av[1]));
databits |= (1 << getIntValue(varvals,av[1]));
}
else if(av[0].equals("scale")) {
scale = Integer.parseInt(av[1]);
@ -390,8 +403,8 @@ public class HDBlockModels {
for(String a : args) {
String[] av = a.split("=");
if(av.length < 2) continue;
if(av[0].equals("id")) { id = Integer.parseInt(av[1]); }
if(av[0].equals("data")) { data = Integer.parseInt(av[1]); }
if(av[0].equals("id")) { id = getIntValue(varvals,av[1]); }
if(av[0].equals("data")) { data = getIntValue(varvals,av[1]); }
if(av[0].equals("rot")) { rot = Integer.parseInt(av[1]); }
}
/* get old model to be rotated */
@ -434,13 +447,13 @@ public class HDBlockModels {
String[] av = a.split("=");
if(av.length < 2) continue;
if(av[0].equals("id")) {
blkids.add(Integer.parseInt(av[1]));
blkids.add(getIntValue(varvals,av[1]));
}
else if(av[0].equals("linkalg")) {
linktype = Integer.parseInt(av[1]);
}
else if(av[0].equals("linkid")) {
map.add(Integer.parseInt(av[1]));
map.add(getIntValue(varvals,av[1]));
}
}
if(linktype > 0) {
@ -471,6 +484,25 @@ public class HDBlockModels {
Log.info(line + " models enabled");
}
}
else if(line.startsWith("var:")) { /* Test if variable declaration */
line = line.substring(4).trim();
String args[] = line.split(",");
for(int i = 0; i < args.length; i++) {
String[] v = args[i].split("=");
if(v.length < 2) {
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + fname);
return;
}
try {
int val = Integer.valueOf(v[1]); /* Parse default value */
int parmval = config.getInteger(v[0], val); /* Read value, with applied default */
varvals.put(v[0], parmval); /* And save value */
} catch (NumberFormatException nfx) {
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + fname);
return;
}
}
}
else if(layerbits != 0) { /* If we're working pattern lines */
/* Layerbits determine Y, rows count from North to South (X=0 to X=N-1), columns Z are West to East (N-1 to 0) */
for(int i = 0; (i < scale) && (i < line.length()); i++) {

View File

@ -14,6 +14,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
@ -810,6 +811,18 @@ public class TexturePack {
}
}
private static Integer getIntValue(Map<String,Integer> vars, String val) throws NumberFormatException {
if(Character.isLetter(val.charAt(0))) {
Integer v = vars.get(val);
if(v == null)
throw new NumberFormatException("invalid ID - " + val);
return v;
}
else {
return Integer.valueOf(val);
}
}
/**
* Load texture pack mappings from texture.txt file
*/
@ -817,6 +830,7 @@ public class TexturePack {
LineNumberReader rdr = null;
int cnt = 0;
HashMap<String,Integer> filetoidx = new HashMap<String,Integer>();
HashMap<String,Integer> varvals = new HashMap<String,Integer>();
try {
String line;
@ -835,14 +849,14 @@ public class TexturePack {
String[] av = a.split("=");
if(av.length < 2) continue;
if(av[0].equals("id")) {
blkids.add(Integer.parseInt(av[1]));
blkids.add(getIntValue(varvals, av[1]));
}
else if(av[0].equals("data")) {
if(databits < 0) databits = 0;
if(av[1].equals("*"))
databits = 0xFFFF;
else
databits |= (1 << Integer.parseInt(av[1]));
databits |= (1 << getIntValue(varvals,av[1]));
}
else if(av[0].equals("top") || av[0].equals("y-")) {
faces[BlockStep.Y_MINUS.ordinal()] = Integer.parseInt(av[1]);
@ -965,6 +979,25 @@ public class TexturePack {
Log.info(line + " textures enabled");
}
}
else if(line.startsWith("var:")) { /* Test if variable declaration */
line = line.substring(4).trim();
String args[] = line.split(",");
for(int i = 0; i < args.length; i++) {
String[] v = args[i].split("=");
if(v.length < 2) {
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + txtname);
return;
}
try {
int val = Integer.valueOf(v[1]); /* Parse default value */
int parmval = config.getInteger(v[0], val); /* Read value, with applied default */
varvals.put(v[0], parmval); /* And save value */
} catch (NumberFormatException nfx) {
Log.severe("Format error - line " + rdr.getLineNumber() + " of " + txtname);
return;
}
}
}
}
Log.verboseinfo("Loaded " + cnt + " texture mappings from " + txtname);
} catch (IOException iox) {