mirror of
https://github.com/encounter/dynmap.git
synced 2026-03-30 11:08:39 -07:00
Compare commits
55 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 478542418c | |||
| a172074efc | |||
| 3484816325 | |||
| ed7cccb2d2 | |||
| 3db079f90f | |||
| 42418edf1f | |||
| 6cfeee152c | |||
| 4a80b71a12 | |||
| 55972a4d16 | |||
| 25edd46e36 | |||
| 7d98afc44d | |||
| 9cc9d63c26 | |||
| b66008c262 | |||
| 5a0983d867 | |||
| a71b96fd67 | |||
| 42365ca563 | |||
| 8207559a5f | |||
| fde86f1170 | |||
| 08fc4145b1 | |||
| a8c1558e3c | |||
| 98a1f32e0f | |||
| a5bc33e1e9 | |||
| 204b54155a | |||
| a9b9a7c5c6 | |||
| bb40f9b281 | |||
| b2535bf469 | |||
| 9acaa523e6 | |||
| 964b3246e1 | |||
| 3a11277907 | |||
| 950727057d | |||
| 20730d23e8 | |||
| f24e460cd6 | |||
| 446c52e933 | |||
| 514e96605b | |||
| dc7efc2642 | |||
| 87be292538 | |||
| 3c1c8ec8dc | |||
| a743524318 | |||
| 8c9733b73f | |||
| cefcae2437 | |||
| 17fd2c1efe | |||
| e009aefb18 | |||
| 09fbf312ac | |||
| ac6b3a072e | |||
| babc8cd073 | |||
| bd92cc37bf | |||
| ca00a84dc5 | |||
| 1af56db030 | |||
| 93613404ba | |||
| cd067adfdc | |||
| b872aa039e | |||
| eafbe62c46 | |||
| 7373de85a2 | |||
| 44106a799a | |||
| 756202affd |
@@ -2,7 +2,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.dynmap</groupId>
|
||||
<artifactId>dynmap</artifactId>
|
||||
<version>0.27</version>
|
||||
<version>0.29.1</version>
|
||||
<name>dynmap</name>
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
|
||||
+65
-67
@@ -1,21 +1,19 @@
|
||||
# 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-dockingStation=168,bc-drill=151
|
||||
var:bc-engine=161,bc-filler=155,bc-frame=160,bc-marker=154,bc-miningWell=150
|
||||
var:bc-oilMoving=162,bc-oilStill=163,bc-pipe=166,bc-pump=164,bc-quarry=153,bc-refinery=167
|
||||
var:bc-tank=165,bc-template=158
|
||||
# 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-pipe,linkalg=5,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-pipe,id=bc-frame,data=0,scale=4
|
||||
layer:1,2
|
||||
----
|
||||
-**-
|
||||
@@ -23,7 +21,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-pipe,id=bc-frame,data=1,scale=4
|
||||
layer:1,2
|
||||
-**-
|
||||
-**-
|
||||
@@ -31,19 +29,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-pipe,id=bc-frame,data=2,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=4,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=8,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=3,scale=4
|
||||
layer:1,2
|
||||
-**-
|
||||
-***
|
||||
@@ -51,19 +49,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-pipe,id=bc-frame,data=6,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=12,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=9,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=5,scale=4
|
||||
layer:1,2
|
||||
-**-
|
||||
-**-
|
||||
@@ -71,11 +69,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-pipe,id=bc-frame,data=10,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=7,scale=4
|
||||
layer:1,2
|
||||
-**-
|
||||
-***
|
||||
@@ -83,36 +81,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-pipe,id=bc-frame,data=14,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=13,scale=4
|
||||
rotate:id=bc-pipe,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-pipe,id=bc-frame,data=11,scale=4
|
||||
rotate:id=bc-pipe,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-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 +122,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 +143,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 +164,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 +179,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 +200,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 +211,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 +231,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
|
||||
--------
|
||||
-******-
|
||||
|
||||
+35
-44
@@ -1,69 +1,60 @@
|
||||
# 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-dockingStation=168,bc-drill=151
|
||||
var:bc-engine=161,bc-filler=155,bc-frame=160,bc-marker=154,bc-miningWell=150
|
||||
var:bc-oilMoving=162,bc-oilStill=163,bc-pipe=166,bc-pump=164,bc-quarry=153,bc-refinery=167
|
||||
var:bc-tank=165,bc-template=158
|
||||
# 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
|
||||
# STONE_PIPE_ID = 146
|
||||
block:id=146,data=*,allfaces=29,txtid=blk,transparency=TRANSPARENT
|
||||
# IRON_PIPE_ID = 147
|
||||
block:id=147,data=*,allfaces=19,txtid=blk,transparency=TRANSPARENT
|
||||
# GOLDEN_PIPE_ID = 148
|
||||
block:id=148,data=*,allfaces=20,txtid=blk,transparency=TRANSPARENT
|
||||
# DIAMOND_PIPE_ID = 149
|
||||
block:id=149,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
|
||||
# OBSIDIAN_PIPE_ID = 156
|
||||
block:id=156,data=*,allfaces=28,txtid=blk,transparency=TRANSPARENT
|
||||
block:id=bc-filler,data=*,allsides=66,topbottom=4065,txtid=blk
|
||||
# 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
|
||||
# COBBLESTONE_PIPE_ID = 159
|
||||
block:id=159,data=*,allfaces=17,txtid=blk,transparency=TRANSPARENT
|
||||
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
|
||||
# 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
|
||||
|
||||
+55
-53
@@ -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
|
||||
|
||||
+93
-87
@@ -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
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
# RedPower2 block mapping
|
||||
# define redpower2-support: true in configuration.txt to enable
|
||||
enabled:redpower2-support
|
||||
# Variables - can be altered in configuration.txt
|
||||
var:rp2-base-appliance=137,rp2-base-microblock=136
|
||||
var:rp2-world-plants=139,rp2-world-ores=140,rp2-world-leaves=141,rp2-world-stone=142,rp2-world-log=143,rp2-world-crops=144,rp2-world-storage=145
|
||||
var:rp2-logic-logic=138
|
||||
var:rp2-lighting-lampOn=146,rp2-lighting-lampOff=147
|
||||
var:rp2-sensor-sensor=148
|
||||
var:rp2-array-array=149
|
||||
var:rp2-machine-machine=150,rp2-machine-machinePanel=151,rp2-machine-frame=152
|
||||
# rp2-world-plants,*
|
||||
block:id=rp2-world-plants,data=*,scale=16
|
||||
layer:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||
*--------------*
|
||||
-*------------*-
|
||||
--*----------*--
|
||||
---*--------*---
|
||||
----*------*----
|
||||
-----*----*-----
|
||||
------*--*------
|
||||
-------**-------
|
||||
-------**-------
|
||||
------*--*------
|
||||
-----*----*-----
|
||||
----*------*----
|
||||
---*--------*---
|
||||
--*----------*--
|
||||
-*------------*-
|
||||
*--------------*
|
||||
# Crops
|
||||
block:id=rp2-world-crops,data=*,scale=16
|
||||
layer:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
****************
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
****************
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
---*--------*---
|
||||
# Logic
|
||||
block:id=rp2-logic-logic,data=*,scale=8
|
||||
layer:0
|
||||
********
|
||||
********
|
||||
********
|
||||
********
|
||||
********
|
||||
********
|
||||
********
|
||||
********
|
||||
# Array (array.array.id,0)
|
||||
# Inv-Array (array.array.id,1)
|
||||
# Non-Inv-Array (array.array.id,2)
|
||||
block:id=rp2-array-array,data=0,data=1,data=2,scale=16
|
||||
layer:0,1
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
****************
|
||||
layer:2,3
|
||||
-------**-------
|
||||
-------**-------
|
||||
--*----**----*--
|
||||
-------**-------
|
||||
-------**-------
|
||||
-------**-------
|
||||
-------**-------
|
||||
**-----**-----**
|
||||
**-----**-----**
|
||||
-------**-------
|
||||
-------**-------
|
||||
-------**-------
|
||||
-------**-------
|
||||
--*----**----*--
|
||||
-------**-------
|
||||
-------**-------
|
||||
layer:4,5,6,7,8,9
|
||||
----------------
|
||||
----------------
|
||||
--*----------*--
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
**------------**
|
||||
**------------**
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
--*----------*--
|
||||
----------------
|
||||
----------------
|
||||
layer:10
|
||||
----------------
|
||||
----------------
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
***----------***
|
||||
***----------***
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
--*----------*--
|
||||
----------------
|
||||
----------------
|
||||
layer:11,12
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
****************
|
||||
****************
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
----------------
|
||||
# Solar panel (machine.machinePanel.id,0)
|
||||
block:id=rp2-machine-machinePanel,data=0,scale=4
|
||||
layer:0
|
||||
****
|
||||
****
|
||||
****
|
||||
****
|
||||
|
||||
@@ -0,0 +1,217 @@
|
||||
# RedPower2 block mapping
|
||||
# define redpower2-support: true in configuration.txt to enable
|
||||
enabled:redpower2-support
|
||||
# Variables - can be altered in configuration.txt
|
||||
var:rp2-base-appliance=137,rp2-base-microblock=136
|
||||
var:rp2-world-plants=139,rp2-world-ores=140,rp2-world-leaves=141,rp2-world-stone=142,rp2-world-log=143,rp2-world-crops=144,rp2-world-storage=145
|
||||
var:rp2-logic-logic=138
|
||||
var:rp2-lighting-lampOn=146,rp2-lighting-lampOff=147
|
||||
var:rp2-sensor-sensor=148
|
||||
var:rp2-array-array=149
|
||||
var:rp2-machine-machine=150,rp2-machine-machinePanel=151,rp2-machine-frame=152
|
||||
# Files
|
||||
texturefile:id=base,filename=redpower2/base1.png,xcount=16,ycount=16
|
||||
texturefile:id=world,filename=redpower2/world1.png,xcount=16,ycount=16
|
||||
texturefile:id=worlditem,filename=redpower2/worlditems1.png,xcount=16,ycount=16
|
||||
texturefile:id=logic,filename=redpower2/logic1.png,xcount=16,ycount=16
|
||||
texturefile:id=lighting,filename=redpower2/lighting1.png,xcount=16,ycount=16
|
||||
texturefile:id=array,filename=redpower2/array1.png,xcount=16,ycount=16
|
||||
texturefile:id=machine,filename=redpower2/machine1.png,xcount=16,ycount=16
|
||||
############
|
||||
# Blocks from RedPowerCore-2
|
||||
############
|
||||
# Alloy Furnace (base.appliance.id, 0)
|
||||
block:id=rp2-base-appliance,data=0,topbottom=19,north=18,south=18,east=16,west=16,txtid=base
|
||||
# Microblocks (base.microblock.id, 0) - can't do this right yet, so just do it as cobblestone...
|
||||
block:id=rp2-base-microblock,data=0,allfaces=16
|
||||
############
|
||||
# Blocks from RedPowerWorld-2
|
||||
############
|
||||
# Flower (world.plants.id, 0), (world.plants.id,3+)
|
||||
block:id=rp2-world-plants,data=0,data=3,data=4,data=5,data=6,data=7,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=1,txtid=worlditem,transparency=TRANSPARENT
|
||||
# Flower (world.plants.id, 1), (world.plants.id, 2)
|
||||
block:id=rp2-world-plants,data=1,data=2,allsides=2,txtid=worlditem,transparency=TRANSPARENT
|
||||
# Flax (world.crops.id,0)
|
||||
block:id=rp2-world-crops,data=0,allsides=64,txtid=world,transparency=TRANSPARENT
|
||||
# Flax (world.crops.id,1)
|
||||
block:id=rp2-world-crops,data=1,allsides=65,txtid=world,transparency=TRANSPARENT
|
||||
# Flax (world.crops.id,2)
|
||||
block:id=rp2-world-crops,data=2,allsides=66,txtid=world,transparency=TRANSPARENT
|
||||
# Flax (world.crops.id,3)
|
||||
block:id=rp2-world-crops,data=3,allsides=67,txtid=world,transparency=TRANSPARENT
|
||||
# Flax (world.crops.id,4)
|
||||
block:id=rp2-world-crops,data=4,allsides=68,txtid=world,transparency=TRANSPARENT
|
||||
# Flax (world.crops.id,5+)
|
||||
block:id=rp2-world-crops,data=5,data=6,data=7,data=8,data=9,data=10,data=11,data=12,data13,data=14,data=15,allsides=69,txtid=world,transparency=TRANSPARENT
|
||||
# Marble (world.stone.id,0)
|
||||
block:id=rp2-world-stone,data=0,allfaces=16,txtid=world
|
||||
# Basalt (world.stone.id,1)
|
||||
block:id=rp2-world-stone,data=1,allfaces=17,txtid=world
|
||||
# Marble bricks (world.stone.id,2)
|
||||
block:id=rp2-world-stone,data=2,allfaces=18,txtid=world
|
||||
# Basalt cobblestone (world.stone.id,3)
|
||||
block:id=rp2-world-stone,data=3,allfaces=19,txtid=world
|
||||
# Basalt bricks (world.stone.id,4)
|
||||
block:id=rp2-world-stone,data=4,allfaces=20,txtid=world
|
||||
# Ruby Ore (world.ores.id,0)
|
||||
block:id=rp2-world-ores,data=0,allfaces=32,txtid=world
|
||||
# Emerald Ore (world.ores.id,1)
|
||||
block:id=rp2-world-ores,data=1,allfaces=33,txtid=world
|
||||
# Sapphire Ore (world.ores.id,2)
|
||||
block:id=rp2-world-ores,data=2,allfaces=34,txtid=world
|
||||
# Silver Ore (world.ores.id,3)
|
||||
block:id=rp2-world-ores,data=3,allfaces=35,txtid=world
|
||||
# Tin Ore (world.ores.id,4)
|
||||
block:id=rp2-world-ores,data=4,allfaces=36,txtid=world
|
||||
# Copper Ore (world.ores.id,5)
|
||||
block:id=rp2-world-ores,data=5,allfaces=37,txtid=world
|
||||
# Tungsten Ore (world.ores.id,6)
|
||||
block:id=rp2-world-ores,data=6,allfaces=38,txtid=world
|
||||
# Nikolite Ore (world.ores.id,7)
|
||||
block:id=rp2-world-ores,data=7,allfaces=39,txtid=world
|
||||
# Rubber tree leaves (world.leaves.id,*)
|
||||
block:id=rp2-world-leaves,data=*,allfaces=2049,txtid=world
|
||||
# Ruby Block (world.storage.id,0)
|
||||
block:id=rp2-world-storage,data=0,allfaces=80,txtid=world
|
||||
# Emerald Block (world.storage.id,1)
|
||||
block:id=rp2-world-storage,data=1,allfaces=81,txtid=world
|
||||
# Sapphire Block (world.storage.id,2)
|
||||
block:id=rp2-world-storage,data=2,allfaces=82,txtid=world
|
||||
# Rubber log (world.log.id,*)
|
||||
block:id=rp2-world-log,data=*,allsides=50,topbottom=51,txtid=world
|
||||
############
|
||||
# Blocks from RedPowerLogic-2
|
||||
############
|
||||
# Timer (logic.logic.id,0)
|
||||
block:id=rp2-logic-logic,data=0,allsides=0,top=8,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Sequencer (logic.logic.id,1)
|
||||
block:id=rp2-logic-logic,data=1,allsides=0,top=1,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Latch (logic.logic.id,2)
|
||||
block:id=rp2-logic-logic,data=2,allsides=0,top=2,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Nor (logic.logic.id,3)
|
||||
block:id=rp2-logic-logic,data=3,allsides=0,top=32,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Or (logic.logic.id,4)
|
||||
block:id=rp2-logic-logic,data=4,allsides=0,top=144,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Nand (logic.logic.id,5)
|
||||
block:id=rp2-logic-logic,data=5,allsides=0,top=96,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# And (logic.logic.id,6)
|
||||
block:id=rp2-logic-logic,data=6,allsides=0,top=160,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Xnor (logic.logic.id,7)
|
||||
block:id=rp2-logic-logic,data=7,allsides=0,top=20,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Xor (logic.logic.id,8)
|
||||
block:id=rp2-logic-logic,data=8,allsides=0,top=24,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Pulse (logic.logic.id,9)
|
||||
block:id=rp2-logic-logic,data=9,allsides=0,top=216,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Toggle (logic.logic.id,10)
|
||||
block:id=rp2-logic-logic,data=10,allsides=0,top=16,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Not (logic.logic.id,11)
|
||||
block:id=rp2-logic-logic,data=11,allsides=0,top=192,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Buffer (logic.logic.id,12)
|
||||
block:id=rp2-logic-logic,data=12,allsides=0,top=208,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Mux (logic.logic.id,13)
|
||||
block:id=rp2-logic-logic,data=13,allsides=0,top=5,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Counter (logic.logic.id,14)
|
||||
block:id=rp2-logic-logic,data=14,allsides=0,top=16,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
# Repeater (logic.logic.id,15)
|
||||
block:id=rp2-logic-logic,data=15,allsides=0,top=188,bottom=0,txtid=logic,transparency=TRANSPARENT
|
||||
############
|
||||
# Blocks from RedPowerLighting-2
|
||||
############
|
||||
# White Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=0,allfaces=32,txtid=lighting
|
||||
# Orange Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=1,allfaces=33,txtid=lighting
|
||||
# Magenta Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=2,allfaces=34,txtid=lighting
|
||||
# Light Blue Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=3,allfaces=35,txtid=lighting
|
||||
# Yellow Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=4,allfaces=36,txtid=lighting
|
||||
# Lime Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=5,allfaces=37,txtid=lighting
|
||||
# Pink Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=6,allfaces=38,txtid=lighting
|
||||
# Gray Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=7,allfaces=39,txtid=lighting
|
||||
# Light Gray Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=8,allfaces=40,txtid=lighting
|
||||
# Cyan Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=9,allfaces=41,txtid=lighting
|
||||
# Purple Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=10,allfaces=42,txtid=lighting
|
||||
# Blue Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=11,allfaces=43,txtid=lighting
|
||||
# Brown Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=12,allfaces=44,txtid=lighting
|
||||
# Green Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=13,allfaces=45,txtid=lighting
|
||||
# Red Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=14,allfaces=46,txtid=lighting
|
||||
# Black Lamp on
|
||||
block:id=rp2-lighting-lampOn,data=15,allfaces=47,txtid=lighting
|
||||
# White Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=0,allfaces=16,txtid=lighting
|
||||
# Orange Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=1,allfaces=17,txtid=lighting
|
||||
# Magenta Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=2,allfaces=18,txtid=lighting
|
||||
# Light Blue Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=3,allfaces=19,txtid=lighting
|
||||
# Yellow Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=4,allfaces=20,txtid=lighting
|
||||
# Lime Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=5,allfaces=21,txtid=lighting
|
||||
# Pink Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=6,allfaces=22,txtid=lighting
|
||||
# Gray Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=7,allfaces=23,txtid=lighting
|
||||
# Light Gray Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=8,allfaces=24,txtid=lighting
|
||||
# Cyan Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=9,allfaces=25,txtid=lighting
|
||||
# Purple Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=10,allfaces=26,txtid=lighting
|
||||
# Blue Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=11,allfaces=27,txtid=lighting
|
||||
# Brown Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=12,allfaces=28,txtid=lighting
|
||||
# Green Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=13,allfaces=29,txtid=lighting
|
||||
# Red Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=14,allfaces=30,txtid=lighting
|
||||
# Black Lamp off
|
||||
block:id=rp2-lighting-lampOff,data=15,allfaces=31,txtid=lighting
|
||||
############
|
||||
# Blocks from RedPowerArray-2
|
||||
############
|
||||
# Array (array.array.id,0)
|
||||
block:id=rp2-array-array,data=0,allsides=0,top=2,bottom=0,txtid=array,transparency=TRANSPARENT
|
||||
# Inv-Array (array.array.id,1)
|
||||
block:id=rp2-array-array,data=1,allsides=0,top=3,bottom=0,txtid=array,transparency=TRANSPARENT
|
||||
# Non-Inv-Array (array.array.id,2)
|
||||
block:id=rp2-array-array,data=2,allsides=0,top=5,bottom=0,txtid=array,transparency=TRANSPARENT
|
||||
############
|
||||
# Blocks from RedPowerMachine-2
|
||||
############
|
||||
# Deployer (machine.machine.id,0) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=0,east=53,west=48,top=6055,bottom=4055,north=4056,south=6056,txtid=machine
|
||||
# Breaker (machine.machine.id,1) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=1,east=49,west=58,top=6051,bottom=4051,north=4051,south=6051,txtid=machine
|
||||
# Transposer (machine.machine.id,2) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=2,east=57,west=58,top=6059,bottom=4059,north=4059,south=6059,txtid=machine
|
||||
# Filter (machine.machine.id,3) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=3,east=57,west=58,top=6061,bottom=4061,north=4061,south=6061,txtid=machine
|
||||
# Item Detector (machine.machine.id,4) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=4,east=103,west=102,top=6100,bottom=4101,north=4096,south=6097,txtid=machine
|
||||
# Sorter (machine.machine.id,5) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=5,east=112,west=113,top=6116,bottom=4116,north=4116,south=6116,txtid=machine
|
||||
# BatBox (machine.machine.id,6)
|
||||
block:id=rp2-machine-machine,data=6,allsides=134,topbottom=128,txtid=machine
|
||||
# Retriever (machine.machine.id,8) - no orientation data yet - just face east
|
||||
block:id=rp2-machine-machine,data=8,east=125,west=124,top=6123,bottom=4123,north=4123,south=6123,txtid=machine
|
||||
# Solar Panel (machine.machinePanel.id,0)
|
||||
block:id=rp2-machine-machinePanel,data=0,top=85,bottom=84,allsides=86,txtid=machine
|
||||
# Blue Furnace (base.appliance.id, 1) - no orientation data yet - just face east
|
||||
block:id=rp2-base-appliance,data=1,east=82,west=80,top=83,bottom=83,north=80,south=80,txtid=machine
|
||||
# Buffer (base.appliance.id, 2) - no orientation data yet - just face east
|
||||
block:id=rp2-base-appliance,data=2,east=89,west=88,top=6088,bottom=4088,north=4088,south=6088,txtid=machine
|
||||
@@ -3,7 +3,6 @@ package org.dynmap;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.Material;
|
||||
|
||||
public class Armor {
|
||||
/**
|
||||
|
||||
@@ -4,8 +4,6 @@ import java.io.IOException;
|
||||
import java.io.Writer;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.dynmap.markers.Marker;
|
||||
import org.dynmap.markers.MarkerSet;
|
||||
import org.json.simple.JSONAware;
|
||||
import org.json.simple.JSONStreamAware;
|
||||
|
||||
@@ -34,7 +32,7 @@ public class Client {
|
||||
public String channel;
|
||||
public ChatMessage(String source, String channel, String playerName, String message, String playeraccount) {
|
||||
this.source = source;
|
||||
this.playerName = ChatColor.stripColor(playerName);
|
||||
this.playerName = Client.stripColor(playerName);
|
||||
this.message = ChatColor.stripColor(message);
|
||||
this.account = playeraccount;
|
||||
this.channel = channel;
|
||||
@@ -58,7 +56,7 @@ public class Client {
|
||||
public String playerName;
|
||||
public String account;
|
||||
public PlayerJoinMessage(String playerName, String playeraccount) {
|
||||
this.playerName = ChatColor.stripColor(playerName);
|
||||
this.playerName = Client.stripColor(playerName);
|
||||
this.account = playeraccount;
|
||||
}
|
||||
@Override
|
||||
@@ -80,7 +78,7 @@ public class Client {
|
||||
public String playerName;
|
||||
public String account;
|
||||
public PlayerQuitMessage(String playerName, String playeraccount) {
|
||||
this.playerName = ChatColor.stripColor(playerName);
|
||||
this.playerName = Client.stripColor(playerName);
|
||||
this.account = playeraccount;
|
||||
}
|
||||
@Override
|
||||
@@ -142,4 +140,21 @@ public class Client {
|
||||
public String type = "component";
|
||||
/* Each subclass must provide 'ctype' string for component 'type' */
|
||||
}
|
||||
|
||||
public static String stripColor(String s) {
|
||||
s = ChatColor.stripColor(s); /* Strip standard color encoding */
|
||||
/* Handle Essentials nickname encoding too */
|
||||
int idx = 0;
|
||||
while((idx = s.indexOf('&', idx)) >= 0) {
|
||||
char c = s.charAt(idx+1); /* Get next character */
|
||||
if(c == '&') { /* Another ampersand */
|
||||
s = s.substring(0, idx) + s.substring(idx+1);
|
||||
}
|
||||
else {
|
||||
s = s.substring(0, idx) + s.substring(idx+2);
|
||||
}
|
||||
idx++;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,12 +25,14 @@ public class ClientConfigurationComponent extends Component {
|
||||
s(t, "sidebaropened", c.getString("sidebaropened", "false"));
|
||||
s(t, "dynmapversion", plugin.getDescription().getVersion());
|
||||
s(t, "cyrillic", c.getBoolean("cyrillic-support", false));
|
||||
s(t, "showlayercontrol", c.getBoolean("showlayercontrol", true));
|
||||
s(t, "showlayercontrol", c.getString("showlayercontrol", "true"));
|
||||
s(t, "grayplayerswhenhidden", c.getBoolean("grayplayerswhenhidden", true));
|
||||
String sn = plugin.getServer().getServerName();
|
||||
if(sn.equals("Unknown Server"))
|
||||
sn = "Minecraft Dynamic Map";
|
||||
s(t, "title", c.getString("webpage-title", sn));
|
||||
s(t, "msg-maptypes", c.getString("msg/maptypes", "Map Types"));
|
||||
s(t, "msg-players", c.getString("msg/players", "Players"));
|
||||
|
||||
DynmapWorld defaultWorld = null;
|
||||
String defmap = null;
|
||||
@@ -55,6 +57,10 @@ public class ClientConfigurationComponent extends Component {
|
||||
}
|
||||
s(t, "defaultworld", c.getString("defaultworld", defaultWorld == null ? "world" : defaultWorld.world.getName()));
|
||||
s(t, "defaultmap", c.getString("defaultmap", defmap == null ? "surface" : defmap));
|
||||
if(c.getString("followmap", null) != null)
|
||||
s(t, "followmap", c.getString("followmap"));
|
||||
if(c.getInteger("followzoom",-1) >= 0)
|
||||
s(t, "followzoom", c.getInteger("followzoom", 0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,11 +5,8 @@ import static org.dynmap.JSONUtils.s;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.Chunk;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.dynmap.utils.BlockLightLevel;
|
||||
import org.json.simple.JSONArray;
|
||||
@@ -35,6 +32,7 @@ public class ClientUpdateComponent extends Component {
|
||||
String worldName = world.getName();
|
||||
int hideifshadow = configuration.getInteger("hideifshadow", 15);
|
||||
int hideifunder = configuration.getInteger("hideifundercover", 15);
|
||||
boolean hideifsneaking = configuration.getBoolean("hideifsneaking", false);
|
||||
|
||||
s(u, "confighash", plugin.getConfigHashcode());
|
||||
|
||||
@@ -51,7 +49,7 @@ public class ClientUpdateComponent extends Component {
|
||||
boolean hide = false;
|
||||
|
||||
s(jp, "type", "player");
|
||||
s(jp, "name", ChatColor.stripColor(p.getDisplayName()));
|
||||
s(jp, "name", Client.stripColor(p.getDisplayName()));
|
||||
s(jp, "account", p.getName());
|
||||
if(hideifshadow < 15) {
|
||||
if(pl.getBlock().getLightLevel() <= hideifshadow)
|
||||
@@ -67,6 +65,8 @@ public class ClientUpdateComponent extends Component {
|
||||
hide = true;
|
||||
}
|
||||
}
|
||||
if(hideifsneaking && p.isSneaking())
|
||||
hide = true;
|
||||
|
||||
/* Don't leak player location for world not visible on maps, or if sendposition disbaled */
|
||||
DynmapWorld pworld = MapManager.mapman.worldsLookup.get(p.getWorld().getName());
|
||||
@@ -100,7 +100,7 @@ public class ClientUpdateComponent extends Component {
|
||||
for(Player p : hidden) {
|
||||
JSONObject jp = new JSONObject();
|
||||
s(jp, "type", "player");
|
||||
s(jp, "name", ChatColor.stripColor(p.getDisplayName()));
|
||||
s(jp, "name", Client.stripColor(p.getDisplayName()));
|
||||
s(jp, "account", p.getName());
|
||||
s(jp, "world", "-hidden-player-");
|
||||
s(jp, "x", 0.0);
|
||||
|
||||
@@ -14,7 +14,7 @@ public abstract class Component {
|
||||
/* Substitute proper values for escape sequences */
|
||||
public static String unescapeString(String v) {
|
||||
/* Replace color code &color; */
|
||||
v = v.replaceAll("&color;", "\u00A7");
|
||||
v = v.replace("&color;", "\u00A7");
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package org.dynmap;
|
||||
|
||||
/**
|
||||
* Generic block location
|
||||
*/
|
||||
public class DynmapLocation {
|
||||
public int x, y, z;
|
||||
public String world;
|
||||
|
||||
public DynmapLocation() {}
|
||||
|
||||
public DynmapLocation(String w, int x, int y, int z) {
|
||||
world = w;
|
||||
this.x = x; this.y = y; this.z = z;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,7 +6,6 @@ import java.util.List;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.Location;
|
||||
import org.dynmap.MapType.ImageFormat;
|
||||
import org.dynmap.debug.Debug;
|
||||
import org.dynmap.utils.DynmapBufferedImage;
|
||||
import org.dynmap.utils.FileLockManager;
|
||||
@@ -31,7 +30,7 @@ public class DynmapWorld {
|
||||
public List<MapType> maps = new ArrayList<MapType>();
|
||||
public UpdateQueue updates = new UpdateQueue();
|
||||
public ConfigurationNode configuration;
|
||||
public List<Location> seedloc;
|
||||
public List<DynmapLocation> seedloc;
|
||||
public List<MapChunkCache.VisibilityLimit> visibility_limits;
|
||||
public List<MapChunkCache.VisibilityLimit> hidden_limits;
|
||||
public AutoGenerateOption do_autogenerate;
|
||||
@@ -388,6 +387,7 @@ public class DynmapWorld {
|
||||
int width = 128, height = 128;
|
||||
BufferedImage zIm = null;
|
||||
DynmapBufferedImage kzIm = null;
|
||||
boolean blank = true;
|
||||
int[] argb = new int[width*height];
|
||||
int step = pd.stepsize << pd.zoomlevel;
|
||||
int ztx = tx;
|
||||
@@ -415,6 +415,7 @@ public class DynmapWorld {
|
||||
if(im != null) {
|
||||
im.getRGB(0, 0, width, height, argb, 0, width); /* Read data */
|
||||
im.flush();
|
||||
blank = false;
|
||||
/* Do binlinear scale to 64x64 */
|
||||
int off = 0;
|
||||
for(int y = 0; y < height; y += 2) {
|
||||
@@ -434,17 +435,15 @@ public class DynmapWorld {
|
||||
/* blit scaled rendered tile onto zoom-out tile */
|
||||
zIm.setRGB(((i>>1) != 0)?0:width/2, (i & 1) * height/2, width/2, height/2, argb, 0, width);
|
||||
}
|
||||
else if((pd.background != 0) && (pd.fmt != ImageFormat.FORMAT_PNG)) {
|
||||
else {
|
||||
Arrays.fill(argb, pd.background);
|
||||
/* blit scaled rendered tile onto zoom-out tile */
|
||||
zIm.setRGB(((i>>1) != 0)?0:width/2, (i & 1) * height/2, width/2, height/2, argb, 0, width);
|
||||
}
|
||||
}
|
||||
else if((pd.background != 0) && (pd.fmt != ImageFormat.FORMAT_PNG)) {
|
||||
else {
|
||||
Arrays.fill(argb, pd.background);
|
||||
/* blit scaled rendered tile onto zoom-out tile */
|
||||
zIm.setRGB(((i>>1) != 0)?0:width/2, (i & 1) * height/2, width/2, height/2, argb, 0, width);
|
||||
}
|
||||
/* blit scaled rendered tile onto zoom-out tile */
|
||||
zIm.setRGB(((i>>1) != 0)?0:width/2, (i & 1) * height/2, width/2, height/2, argb, 0, width);
|
||||
}
|
||||
FileLockManager.getWriteLock(zf);
|
||||
try {
|
||||
@@ -456,7 +455,15 @@ public class DynmapWorld {
|
||||
int tilex = ztx/step/2;
|
||||
int tiley = zty/step/2;
|
||||
String key = world.getName()+".z"+pd.zoomprefix+pd.baseprefix;
|
||||
if((!zf.exists()) || (crc != mm.hashman.getImageHashCode(key, null, tilex, tiley))) {
|
||||
if(blank) {
|
||||
if(zf.exists()) {
|
||||
zf.delete();
|
||||
hashman.updateHashCode(key, null, tilex, tiley, -1);
|
||||
MapManager.mapman.pushUpdate(this, new Client.Tile(zfname));
|
||||
enqueueZoomOutUpdate(zf, pd.zoomlevel+1);
|
||||
}
|
||||
}
|
||||
else if((!zf.exists()) || (crc != mm.hashman.getImageHashCode(key, null, tilex, tiley))) {
|
||||
try {
|
||||
if(!zf.getParentFile().exists())
|
||||
zf.getParentFile().mkdirs();
|
||||
@@ -468,7 +475,7 @@ public class DynmapWorld {
|
||||
Debug.error("Failed to save zoom-out tile (NullPointerException): " + zf.getName(), e);
|
||||
}
|
||||
hashman.updateHashCode(key, null, tilex, tiley, crc);
|
||||
MapManager.mapman.pushUpdate(this.world, new Client.Tile(zfname));
|
||||
MapManager.mapman.pushUpdate(this, new Client.Tile(zfname));
|
||||
enqueueZoomOutUpdate(zf, pd.zoomlevel+1);
|
||||
}
|
||||
} finally {
|
||||
@@ -476,4 +483,24 @@ public class DynmapWorld {
|
||||
DynmapBufferedImage.freeBufferedImage(kzIm);
|
||||
}
|
||||
}
|
||||
/* Test if world is nether */
|
||||
public boolean isNether() {
|
||||
return world.getEnvironment() == World.Environment.NETHER;
|
||||
}
|
||||
/* Get world name */
|
||||
public String getName() {
|
||||
return world.getName();
|
||||
}
|
||||
/* Get world spawn location */
|
||||
public DynmapLocation getSpawnLocation() {
|
||||
DynmapLocation dloc = new DynmapLocation();
|
||||
Location sloc = world.getSpawnLocation();
|
||||
dloc.x = sloc.getBlockX(); dloc.y = sloc.getBlockY();
|
||||
dloc.z = sloc.getBlockZ(); dloc.world = sloc.getWorld().getName();
|
||||
return dloc;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return world.hashCode();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,11 +8,14 @@ import static org.dynmap.JSONUtils.*;
|
||||
|
||||
public class InternalClientUpdateComponent extends ClientUpdateComponent {
|
||||
|
||||
public InternalClientUpdateComponent(DynmapPlugin plugin, final ConfigurationNode configuration) {
|
||||
public InternalClientUpdateComponent(final DynmapPlugin plugin, final ConfigurationNode configuration) {
|
||||
super(plugin, configuration);
|
||||
final Boolean allowwebchat = configuration.getBoolean("allowwebchat", false);
|
||||
final Boolean hidewebchatip = configuration.getBoolean("hidewebchatip", false);
|
||||
final Boolean trust_client_name = configuration.getBoolean("trustclientname", false);
|
||||
final boolean allowwebchat = configuration.getBoolean("allowwebchat", false);
|
||||
final boolean hidewebchatip = configuration.getBoolean("hidewebchatip", false);
|
||||
final boolean trust_client_name = configuration.getBoolean("trustclientname", false);
|
||||
final boolean useplayerloginip = configuration.getBoolean("use-player-login-ip", true);
|
||||
final boolean checkuserban = configuration.getBoolean("block-banned-player-chat", true);
|
||||
final boolean requireplayerloginip = configuration.getBoolean("require-player-login-ip", false);
|
||||
final float webchatInterval = configuration.getFloat("webchat-interval", 1);
|
||||
final String spammessage = plugin.configuration.getString("spammessage", "You may only chat once every %interval% seconds.");
|
||||
|
||||
@@ -31,7 +34,11 @@ public class InternalClientUpdateComponent extends ClientUpdateComponent {
|
||||
maximumMessageInterval = (int)(webchatInterval * 1000);
|
||||
spamMessage = "\""+spammessage+"\"";
|
||||
hideip = hidewebchatip;
|
||||
this.plug_in = plugin;
|
||||
this.trustclientname = trust_client_name;
|
||||
this.use_player_login_ip = useplayerloginip;
|
||||
this.require_player_login_ip = requireplayerloginip;
|
||||
this.check_user_ban = checkuserban;
|
||||
onMessageReceived.addListener(new Listener<SendMessageHandler.Message>() {
|
||||
@Override
|
||||
public void triggered(Message t) {
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.dynmap;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.FileInputStream;
|
||||
@@ -9,9 +8,9 @@ import java.io.Reader;
|
||||
import java.io.IOException;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.OfflinePlayer;
|
||||
import org.bukkit.World;
|
||||
import org.dynmap.web.Json;
|
||||
import org.json.simple.JSONArray;
|
||||
@@ -26,8 +25,12 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent {
|
||||
protected long currentTimestamp = 0;
|
||||
protected long lastTimestamp = 0;
|
||||
protected JSONParser parser = new JSONParser();
|
||||
private Boolean hidewebchatip;
|
||||
|
||||
private boolean hidewebchatip;
|
||||
private boolean useplayerloginip;
|
||||
private boolean requireplayerloginip;
|
||||
private boolean trust_client_name;
|
||||
private boolean checkuserban;
|
||||
|
||||
private HashMap<String,String> useralias = new HashMap<String,String>();
|
||||
private int aliasindex = 1;
|
||||
private long last_confighash;
|
||||
@@ -38,6 +41,11 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent {
|
||||
final boolean allowwebchat = configuration.getBoolean("allowwebchat", false);
|
||||
jsonInterval = (long)(configuration.getFloat("writeinterval", 1) * 1000);
|
||||
hidewebchatip = configuration.getBoolean("hidewebchatip", false);
|
||||
useplayerloginip = configuration.getBoolean("use-player-login-ip", true);
|
||||
requireplayerloginip = configuration.getBoolean("require-player-login-ip", false);
|
||||
trust_client_name = configuration.getBoolean("trustclientname", false);
|
||||
checkuserban = configuration.getBoolean("block-banned-player-chat", true);
|
||||
|
||||
MapManager.scheduleDelayedJob(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
@@ -211,7 +219,31 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent {
|
||||
if(ts.equals("null")) ts = "0";
|
||||
if (Long.parseLong(ts) >= (lastTimestamp)) {
|
||||
String name = String.valueOf(o.get("name"));
|
||||
if(hidewebchatip) {
|
||||
String ip = String.valueOf(o.get("ip"));
|
||||
boolean isip = true;
|
||||
if((!trust_client_name) || (name == null) || (name.equals(""))) {
|
||||
if(ip != null)
|
||||
name = ip;
|
||||
}
|
||||
if(useplayerloginip) { /* Try to match using IPs of player logins */
|
||||
List<String> ids = plugin.getIDsForIP(name);
|
||||
if(ids != null) {
|
||||
name = ids.get(0);
|
||||
isip = false;
|
||||
if(checkuserban) {
|
||||
OfflinePlayer p = plugin.getServer().getOfflinePlayer(name);
|
||||
if((p != null) && p.isBanned()) {
|
||||
Log.info("Ignore message from '" + ip + "' - banned player (" + name + ")");
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if(requireplayerloginip) {
|
||||
Log.info("Ignore message from '" + name + "' - no matching player login recorded");
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(hidewebchatip && isip) {
|
||||
String n = useralias.get(name);
|
||||
if(n == null) { /* Make ID */
|
||||
n = String.format("web-%03d", aliasindex);
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package org.dynmap;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
@@ -22,10 +21,10 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.scheduler.BukkitScheduler;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.dynmap.DynmapPlugin.CompassMode;
|
||||
import org.dynmap.DynmapWorld.AutoGenerateOption;
|
||||
import org.dynmap.debug.Debug;
|
||||
@@ -177,10 +176,14 @@ public class MapManager {
|
||||
}
|
||||
}
|
||||
}
|
||||
private static final String RENDERTYPE_FULLRENDER = "Full render";
|
||||
private static final String RENDERTYPE_RADIUSRENDER = "Radius render";
|
||||
private static final String RENDERTYPE_UPDATERENDER = "Update render";
|
||||
|
||||
/* This always runs on render pool threads - no bukkit calls from here */
|
||||
private class FullWorldRenderState implements Runnable {
|
||||
DynmapWorld world; /* Which world are we rendering */
|
||||
Location loc;
|
||||
DynmapLocation loc;
|
||||
int map_index = -1; /* Which map are we on */
|
||||
MapType map;
|
||||
TileFlags found = null;
|
||||
@@ -189,6 +192,7 @@ public class MapManager {
|
||||
MapTile tile0 = null;
|
||||
int rendercnt = 0;
|
||||
CommandSender sender;
|
||||
String player;
|
||||
long timeaccum;
|
||||
HashSet<MapType> renderedmaps = new HashSet<MapType>();
|
||||
String activemaps;
|
||||
@@ -197,42 +201,52 @@ public class MapManager {
|
||||
int cxmin, cxmax, czmin, czmax;
|
||||
String rendertype;
|
||||
boolean cancelled;
|
||||
boolean updaterender = false;
|
||||
String mapname;
|
||||
AtomicLong total_render_ns = new AtomicLong(0L);
|
||||
AtomicInteger rendercalls = new AtomicInteger(0);
|
||||
|
||||
/* Full world, all maps render */
|
||||
FullWorldRenderState(DynmapWorld dworld, Location l, CommandSender sender, String mapname) {
|
||||
FullWorldRenderState(DynmapWorld dworld, DynmapLocation l, CommandSender sender, String mapname, boolean updaterender) {
|
||||
this(dworld, l, sender, mapname, -1);
|
||||
rendertype = "Full render";
|
||||
if(updaterender) {
|
||||
rendertype = RENDERTYPE_UPDATERENDER;
|
||||
this.updaterender = true;
|
||||
}
|
||||
else
|
||||
rendertype = RENDERTYPE_FULLRENDER;
|
||||
}
|
||||
|
||||
/* Full world, all maps render, with optional render radius */
|
||||
FullWorldRenderState(DynmapWorld dworld, Location l, CommandSender sender, String mapname, int radius) {
|
||||
FullWorldRenderState(DynmapWorld dworld, DynmapLocation l, CommandSender sender, String mapname, int radius) {
|
||||
world = dworld;
|
||||
loc = l;
|
||||
found = new TileFlags();
|
||||
rendered = new TileFlags();
|
||||
renderQueue = new LinkedList<MapTile>();
|
||||
this.sender = sender;
|
||||
if(sender instanceof Player)
|
||||
this.player = ((Player)sender).getName();
|
||||
else
|
||||
this.player = "";
|
||||
if(radius < 0) {
|
||||
cxmin = czmin = Integer.MIN_VALUE;
|
||||
cxmax = czmax = Integer.MAX_VALUE;
|
||||
rendertype = "Full render";
|
||||
rendertype = RENDERTYPE_FULLRENDER;
|
||||
}
|
||||
else {
|
||||
cxmin = (l.getBlockX() - radius)>>4;
|
||||
czmin = (l.getBlockZ() - radius)>>4;
|
||||
cxmax = (l.getBlockX() + radius+15)>>4;
|
||||
czmax = (l.getBlockZ() + radius+15)>>4;
|
||||
rendertype = "Radius render";
|
||||
cxmin = (l.x - radius)>>4;
|
||||
czmin = (l.z - radius)>>4;
|
||||
cxmax = (l.x + radius+15)>>4;
|
||||
czmax = (l.z + radius+15)>>4;
|
||||
rendertype = RENDERTYPE_RADIUSRENDER;
|
||||
}
|
||||
this.mapname = mapname;
|
||||
}
|
||||
|
||||
/* Single tile render - used for incremental renders */
|
||||
FullWorldRenderState(MapTile t) {
|
||||
world = getWorld(t.getWorld().getName());
|
||||
world = getWorld(t.getDynmapWorld().getName());
|
||||
tile0 = t;
|
||||
cxmin = czmin = Integer.MIN_VALUE;
|
||||
cxmax = czmax = Integer.MAX_VALUE;
|
||||
@@ -242,7 +256,11 @@ public class MapManager {
|
||||
String w = n.getString("world", "");
|
||||
world = getWorld(w);
|
||||
if(world == null) throw new Exception();
|
||||
loc = new Location(world.world, n.getDouble("locX", 0.0), n.getDouble("locY", 0.0), n.getDouble("locZ", 0.0));
|
||||
loc = new DynmapLocation();
|
||||
loc.world = world.getName();
|
||||
loc.x = (int)n.getDouble("locX", 0.0);
|
||||
loc.y = (int)n.getDouble("locY", 0.0);
|
||||
loc.z = (int)n.getDouble("locZ", 0.0);
|
||||
String m = n.getString("map","");
|
||||
map_index = n.getInteger("mapindex", -1);
|
||||
map = world.maps.get(map_index);
|
||||
@@ -291,16 +309,21 @@ public class MapManager {
|
||||
czmax = n.getInteger("czmax", 0);
|
||||
rendertype = n.getString("rendertype", "");
|
||||
mapname = n.getString("mapname", null);
|
||||
player = n.getString("player", "");
|
||||
updaterender = rendertype.equals(RENDERTYPE_UPDATERENDER);
|
||||
sender = null;
|
||||
if(player.length() > 0) {
|
||||
sender = plug_in.getServer().getPlayerExact(player);
|
||||
}
|
||||
}
|
||||
|
||||
public HashMap<String,Object> saveState() {
|
||||
HashMap<String,Object> v = new HashMap<String,Object>();
|
||||
|
||||
v.put("world", world.world.getName());
|
||||
v.put("locX", loc.getBlockX());
|
||||
v.put("locY", loc.getBlockY());
|
||||
v.put("locZ", loc.getBlockZ());
|
||||
v.put("locX", loc.x);
|
||||
v.put("locY", loc.y);
|
||||
v.put("locZ", loc.z);
|
||||
v.put("mapindex", map_index);
|
||||
v.put("map", map.getName());
|
||||
v.put("found", found.save());
|
||||
@@ -328,18 +351,18 @@ public class MapManager {
|
||||
v.put("rendertype", rendertype);
|
||||
if(mapname != null)
|
||||
v.put("mapname", mapname);
|
||||
|
||||
v.put("player", player);
|
||||
return v;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "world=" + world.world.getName() + ", map=" + map;
|
||||
return "world=" + world.getName() + ", map=" + map;
|
||||
}
|
||||
|
||||
public void cleanup() {
|
||||
if(tile0 == null) {
|
||||
synchronized(lock) {
|
||||
active_renders.remove(world.world.getName());
|
||||
active_renders.remove(world.getName());
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -372,7 +395,7 @@ public class MapManager {
|
||||
sendMessage(String.format("%s of map '%s' of '%s' completed - %d tiles rendered (%.2f msec/map-tile, %.2f msec per render)",
|
||||
rendertype, activemaps, world.world.getName(), rendercnt, msecpertile, rendtime));
|
||||
/* Now, if fullrender, use the render bitmap to purge obsolete tiles */
|
||||
if(cxmin == Integer.MIN_VALUE) {
|
||||
if(rendertype.equals(RENDERTYPE_FULLRENDER)) {
|
||||
if(activemapcnt == 1) {
|
||||
map.purgeOldTiles(world, rendered);
|
||||
}
|
||||
@@ -430,26 +453,28 @@ public class MapManager {
|
||||
renderedmaps.addAll(map.getMapsSharingRender(world));
|
||||
|
||||
/* Now, prime the render queue */
|
||||
for (MapTile mt : map.getTiles(loc)) {
|
||||
for (MapTile mt : map.getTiles(world, loc.x, loc.y, loc.z)) {
|
||||
if (!found.getFlag(mt.tileOrdinalX(), mt.tileOrdinalY())) {
|
||||
found.setFlag(mt.tileOrdinalX(), mt.tileOrdinalY(), true);
|
||||
renderQueue.add(mt);
|
||||
}
|
||||
}
|
||||
/* Add spawn location too (helps with some worlds where 0,64,0 may not be generated */
|
||||
Location sloc = world.world.getSpawnLocation();
|
||||
for (MapTile mt : map.getTiles(sloc)) {
|
||||
if (!found.getFlag(mt.tileOrdinalX(), mt.tileOrdinalY())) {
|
||||
found.setFlag(mt.tileOrdinalX(), mt.tileOrdinalY(), true);
|
||||
renderQueue.add(mt);
|
||||
if(!updaterender) { /* Only add other seed points for fullrender */
|
||||
/* Add spawn location too (helps with some worlds where 0,64,0 may not be generated */
|
||||
DynmapLocation sloc = world.getSpawnLocation();
|
||||
for (MapTile mt : map.getTiles(world, sloc.x, sloc.y, sloc.z)) {
|
||||
if (!found.getFlag(mt.tileOrdinalX(), mt.tileOrdinalY())) {
|
||||
found.setFlag(mt.tileOrdinalX(), mt.tileOrdinalY(), true);
|
||||
renderQueue.add(mt);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(world.seedloc != null) {
|
||||
for(Location seed : world.seedloc) {
|
||||
for (MapTile mt : map.getTiles(seed)) {
|
||||
if (!found.getFlag(mt.tileOrdinalX(),mt.tileOrdinalY())) {
|
||||
found.setFlag(mt.tileOrdinalX(),mt.tileOrdinalY(), true);
|
||||
renderQueue.add(mt);
|
||||
if(world.seedloc != null) {
|
||||
for(DynmapLocation seed : world.seedloc) {
|
||||
for (MapTile mt : map.getTiles(world, seed.x, seed.y, seed.z)) {
|
||||
if (!found.getFlag(mt.tileOrdinalX(),mt.tileOrdinalY())) {
|
||||
found.setFlag(mt.tileOrdinalX(),mt.tileOrdinalY(), true);
|
||||
renderQueue.add(mt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -572,15 +597,18 @@ public class MapManager {
|
||||
/* Switch to not checking if rendered tile is blank - breaks us on skylands, where tiles can be nominally blank - just work off chunk cache empty */
|
||||
if (cache.isEmpty() == false) {
|
||||
long rt0 = System.nanoTime();
|
||||
tile.render(cache, mapname);
|
||||
boolean upd = tile.render(cache, mapname);
|
||||
total_render_ns.addAndGet(System.nanoTime()-rt0);
|
||||
rendercalls.incrementAndGet();
|
||||
synchronized(lock) {
|
||||
rendered.setFlag(tile.tileOrdinalX(), tile.tileOrdinalY(), true);
|
||||
for (MapTile adjTile : map.getAdjecentTiles(tile)) {
|
||||
if (!found.getFlag(adjTile.tileOrdinalX(),adjTile.tileOrdinalY())) {
|
||||
found.setFlag(adjTile.tileOrdinalX(), adjTile.tileOrdinalY(), true);
|
||||
renderQueue.add(adjTile);
|
||||
if(upd || (!updaterender)) { /* If updated or not an update render */
|
||||
/* Add adjacent unrendered tiles to queue */
|
||||
for (MapTile adjTile : map.getAdjecentTiles(tile)) {
|
||||
if (!found.getFlag(adjTile.tileOrdinalX(),adjTile.tileOrdinalY())) {
|
||||
found.setFlag(adjTile.tileOrdinalX(), adjTile.tileOrdinalY(), true);
|
||||
renderQueue.add(adjTile);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -633,7 +661,7 @@ public class MapManager {
|
||||
boolean isday = new_servertime >= 0 && new_servertime < 13700;
|
||||
w.servertime = new_servertime;
|
||||
if(wasday != isday) {
|
||||
pushUpdate(w.world, new Client.DayNight(isday));
|
||||
pushUpdate(w, new Client.DayNight(isday));
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
@@ -718,13 +746,13 @@ public class MapManager {
|
||||
}
|
||||
}
|
||||
|
||||
void renderFullWorld(Location l, CommandSender sender, String mapname) {
|
||||
DynmapWorld world = getWorld(l.getWorld().getName());
|
||||
void renderFullWorld(DynmapLocation l, CommandSender sender, String mapname, boolean update) {
|
||||
DynmapWorld world = getWorld(l.world);
|
||||
if (world == null) {
|
||||
sender.sendMessage("Could not render: world '" + l.getWorld().getName() + "' not defined in configuration.");
|
||||
sender.sendMessage("Could not render: world '" + l.world + "' not defined in configuration.");
|
||||
return;
|
||||
}
|
||||
String wname = l.getWorld().getName();
|
||||
String wname = l.world;
|
||||
FullWorldRenderState rndr;
|
||||
synchronized(lock) {
|
||||
rndr = active_renders.get(wname);
|
||||
@@ -732,22 +760,25 @@ public class MapManager {
|
||||
sender.sendMessage(rndr.rendertype + " of world '" + wname + "' already active.");
|
||||
return;
|
||||
}
|
||||
rndr = new FullWorldRenderState(world,l,sender, mapname); /* Make new activation record */
|
||||
rndr = new FullWorldRenderState(world,l,sender, mapname, update); /* Make new activation record */
|
||||
active_renders.put(wname, rndr); /* Add to active table */
|
||||
}
|
||||
/* Schedule first tile to be worked */
|
||||
scheduleDelayedJob(rndr, 0);
|
||||
|
||||
sender.sendMessage("Full render starting on world '" + wname + "'...");
|
||||
if(update)
|
||||
sender.sendMessage("Update render starting on world '" + wname + "'...");
|
||||
else
|
||||
sender.sendMessage("Full render starting on world '" + wname + "'...");
|
||||
}
|
||||
|
||||
void renderWorldRadius(Location l, CommandSender sender, String mapname, int radius) {
|
||||
DynmapWorld world = getWorld(l.getWorld().getName());
|
||||
void renderWorldRadius(DynmapLocation l, CommandSender sender, String mapname, int radius) {
|
||||
DynmapWorld world = getWorld(l.world);
|
||||
if (world == null) {
|
||||
sender.sendMessage("Could not render: world '" + l.getWorld().getName() + "' not defined in configuration.");
|
||||
sender.sendMessage("Could not render: world '" + l.world + "' not defined in configuration.");
|
||||
return;
|
||||
}
|
||||
String wname = l.getWorld().getName();
|
||||
String wname = l.world;
|
||||
FullWorldRenderState rndr;
|
||||
synchronized(lock) {
|
||||
rndr = active_renders.get(wname);
|
||||
@@ -818,7 +849,7 @@ public class MapManager {
|
||||
Log.info("Loaded " + dynmapWorld.maps.size() + " maps of world '" + worldName + "'.");
|
||||
|
||||
List<ConfigurationNode> loclist = worldConfiguration.getNodes("fullrenderlocations");
|
||||
dynmapWorld.seedloc = new ArrayList<Location>();
|
||||
dynmapWorld.seedloc = new ArrayList<DynmapLocation>();
|
||||
dynmapWorld.servertime = (int)(w.getTime() % 24000);
|
||||
dynmapWorld.sendposition = worldConfiguration.getBoolean("sendposition", true);
|
||||
dynmapWorld.sendhealth = worldConfiguration.getBoolean("sendhealth", true);
|
||||
@@ -827,7 +858,7 @@ public class MapManager {
|
||||
dynmapWorld.worldtilepath = new File(DynmapPlugin.tilesDirectory, w.getName());
|
||||
if(loclist != null) {
|
||||
for(ConfigurationNode loc : loclist) {
|
||||
Location lx = new Location(w, loc.getDouble("x", 0), loc.getDouble("y", 64), loc.getDouble("z", 0));
|
||||
DynmapLocation lx = new DynmapLocation(w.getName(), loc.getInteger("x", 0), loc.getInteger("y", 64), loc.getInteger("z", 0));
|
||||
dynmapWorld.seedloc.add(lx);
|
||||
}
|
||||
}
|
||||
@@ -843,7 +874,7 @@ public class MapManager {
|
||||
lim.z1 = vis.getInteger("z1", 0);
|
||||
dynmapWorld.visibility_limits.add(lim);
|
||||
/* Also, add a seed location for the middle of each visible area */
|
||||
dynmapWorld.seedloc.add(new Location(w, (lim.x0+lim.x1)/2, 64, (lim.z0+lim.z1)/2));
|
||||
dynmapWorld.seedloc.add(new DynmapLocation(w.getName(), (lim.x0+lim.x1)/2, 64, (lim.z0+lim.z1)/2));
|
||||
}
|
||||
}
|
||||
/* Load hidden limits, if any are defined */
|
||||
@@ -979,13 +1010,17 @@ public class MapManager {
|
||||
}
|
||||
}
|
||||
|
||||
public int touch(Location l, String reason) {
|
||||
DynmapWorld world = getWorld(l.getWorld().getName());
|
||||
public int touch(DynmapLocation l, String reason) {
|
||||
return touch(l.world, l.x, l.y, l.z, reason);
|
||||
}
|
||||
|
||||
public int touch(String wname, int x, int y, int z, String reason) {
|
||||
DynmapWorld world = getWorld(wname);
|
||||
if (world == null)
|
||||
return 0;
|
||||
int invalidates = 0;
|
||||
for (int i = 0; i < world.maps.size(); i++) {
|
||||
MapTile[] tiles = world.maps.get(i).getTiles(l);
|
||||
MapTile[] tiles = world.maps.get(i).getTiles(world, x, y, z);
|
||||
for (int j = 0; j < tiles.length; j++) {
|
||||
if(invalidateTile(tiles[j]))
|
||||
invalidates++;
|
||||
@@ -1006,13 +1041,13 @@ public class MapManager {
|
||||
return invalidates;
|
||||
}
|
||||
|
||||
public int touchVolume(Location l0, Location l1, String reason) {
|
||||
DynmapWorld world = getWorld(l0.getWorld().getName());
|
||||
public int touchVolume(String wname, int minx, int miny, int minz, int maxx, int maxy, int maxz, String reason) {
|
||||
DynmapWorld world = getWorld(wname);
|
||||
if (world == null)
|
||||
return 0;
|
||||
int invalidates = 0;
|
||||
for (int i = 0; i < world.maps.size(); i++) {
|
||||
MapTile[] tiles = world.maps.get(i).getTiles(l0, l1);
|
||||
MapTile[] tiles = world.maps.get(i).getTiles(world, minx, miny, minz, maxx, maxy, maxz);
|
||||
for (int j = 0; j < tiles.length; j++) {
|
||||
if(invalidateTile(tiles[j]))
|
||||
invalidates++;
|
||||
@@ -1076,16 +1111,14 @@ public class MapManager {
|
||||
|
||||
if(saverestorepending)
|
||||
savePending();
|
||||
if(sscache != null) {
|
||||
sscache.cleanup();
|
||||
sscache = null;
|
||||
}
|
||||
}
|
||||
|
||||
private HashMap<World, File> worldTileDirectories = new HashMap<World, File>();
|
||||
public File getTileFile(MapTile tile) {
|
||||
World world = tile.getWorld();
|
||||
File worldTileDirectory = worldTileDirectories.get(world);
|
||||
if (worldTileDirectory == null) {
|
||||
worldTileDirectory = new File(DynmapPlugin.tilesDirectory, tile.getWorld().getName());
|
||||
worldTileDirectories.put(world, worldTileDirectory);
|
||||
}
|
||||
File worldTileDirectory = tile.getDynmapWorld().worldtilepath;
|
||||
if (!worldTileDirectory.isDirectory() && !worldTileDirectory.mkdirs()) {
|
||||
Log.warning("Could not create directory for tiles ('" + worldTileDirectory + "').");
|
||||
}
|
||||
@@ -1099,7 +1132,7 @@ public class MapManager {
|
||||
}
|
||||
}
|
||||
|
||||
public void pushUpdate(World world, Client.Update update) {
|
||||
public void pushUpdate(DynmapWorld world, Client.Update update) {
|
||||
pushUpdate(world.getName(), update);
|
||||
}
|
||||
|
||||
@@ -1297,7 +1330,11 @@ public class MapManager {
|
||||
public boolean getFenceJoin() {
|
||||
return plug_in.fencejoin;
|
||||
}
|
||||
|
||||
|
||||
public boolean getBetterGrass() {
|
||||
return plug_in.bettergrass;
|
||||
}
|
||||
|
||||
public CompassMode getCompassMode() {
|
||||
return plug_in.compassmode;
|
||||
}
|
||||
@@ -1355,5 +1392,13 @@ public class MapManager {
|
||||
public void incExtraTickList() {
|
||||
ticklistcalls.incrementAndGet();
|
||||
}
|
||||
|
||||
/* Connect any jobs tied to this player back to the player (resumes output to player) */
|
||||
void connectTasksToPlayer(Player p) {
|
||||
String pn = p.getName();
|
||||
for(FullWorldRenderState job : active_renders.values()) {
|
||||
if(pn.equals(job.player)) {
|
||||
job.sender = p;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
package org.dynmap;
|
||||
|
||||
import java.io.File;
|
||||
import java.lang.reflect.Constructor;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.World;
|
||||
import org.dynmap.kzedmap.MapTileRenderer;
|
||||
import org.dynmap.utils.MapChunkCache;
|
||||
|
||||
public abstract class MapTile {
|
||||
@@ -16,10 +13,6 @@ public abstract class MapTile {
|
||||
public abstract List<DynmapChunk> getRequiredChunks();
|
||||
public abstract MapTile[] getAdjecentTiles();
|
||||
|
||||
public World getWorld() {
|
||||
return world.world;
|
||||
}
|
||||
|
||||
public DynmapWorld getDynmapWorld() {
|
||||
return world;
|
||||
}
|
||||
@@ -34,7 +27,7 @@ public abstract class MapTile {
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
return getFilename().hashCode() ^ getWorld().hashCode();
|
||||
return getFilename().hashCode() ^ world.hashCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -4,7 +4,6 @@ import java.io.File;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Location;
|
||||
import org.dynmap.utils.TileFlags;
|
||||
import org.json.simple.JSONObject;
|
||||
|
||||
@@ -38,9 +37,9 @@ public abstract class MapType {
|
||||
public ZoomInfo(String pre, int bg) { prefix = pre; background_argb = bg; }
|
||||
}
|
||||
|
||||
public abstract MapTile[] getTiles(Location l);
|
||||
public abstract MapTile[] getTiles(DynmapWorld w, int x, int y, int z);
|
||||
|
||||
public abstract MapTile[] getTiles(Location l0, Location l1);
|
||||
public abstract MapTile[] getTiles(DynmapWorld w, int minx, int miny, int minz, int maxx, int maxy, int maxz);
|
||||
|
||||
public abstract MapTile[] getAdjecentTiles(MapTile tile);
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user