Compare commits

...

119 Commits

Author SHA1 Message Date
FrozenCow d3cd322d5f Reformatted pom.xml. 2012-01-10 20:39:57 +01:00
FrozenCow 3c4a88a874 Replaced webserver with Jetty. 2012-01-10 20:38:46 +01:00
Mike Primm db3ab5a437 Switch touch queue to concurrent map - remove synchronize 2012-01-10 14:49:18 +08:00
Mike Primm 530eb0ae9e Shift most of touch processing off server main thread 2012-01-10 12:39:26 +08:00
Mike Primm 02091acd45 Fix problem in UI when layer control disabled (showlayercontrol=false) 2012-01-10 08:54:45 +08:00
Mike Primm 9c32d7168e Bump back to 0.30 2012-01-08 22:38:30 -06:00
Mike Primm 478542418c v0.29.1 - Made render improvements default on only for fresh installs: add 'correct-water-lighting', 'correct-biome-shading', 'use-generated-textures' settings to allow enable on existing installs 2012-01-09 12:28:40 +08:00
Mike Primm a172074efc Bump to 0.30 2012-01-08 17:58:48 -06:00
Mike Primm 3484816325 Add 'hidechat=true' URL parameter to hide all chat input/output 2012-01-09 01:54:10 +08:00
Mike Primm ed7cccb2d2 Move link component to lower-left, shift chat slightly right 2012-01-09 01:41:53 +08:00
Mike Primm 3db079f90f More porting prep, tune up invalidates and touches 2012-01-09 01:02:53 +08:00
Mike Primm 42418edf1f Start isolating Bukkit dependencies, prep code for ports 2012-01-08 01:47:11 -06:00
Mike Primm 6cfeee152c Add block-banned-player-chat to block chat from banned players matching IPs known to go with player 2012-01-08 09:10:00 +08:00
Mike Primm 4a80b71a12 Update examples in worlds.txt to HDMap based maps 2012-01-07 15:20:02 +08:00
Mike Primm 55972a4d16 Add better-grass setting, to allow option to render using BetterGrass style rendering of grass and snow block sides 2012-01-07 15:13:53 +08:00
FrozenCow 25edd46e36 Made the sidebar use clicking instead of hovering for mobile devices. 2012-01-07 01:06:13 +01:00
Mike Primm 7d98afc44d Merge remote branch 'upstream/master' 2012-01-06 03:12:13 -06:00
Mike Primm 9cc9d63c26 Add customization/translation for "Players" and "Map Types" UI labels 2012-01-06 17:11:00 +08:00
Mike Primm b66008c262 Add support for 'link' component - button to get hard link to current view 2012-01-06 03:09:53 -06:00
Mike Primm 5a0983d867 Add customization/translation for "Players" and "Map Types" UI labels 2012-01-06 01:02:56 -06:00
Mike Primm a71b96fd67 Fix handling of double question marks in chat messages (weird jQuery tricks) 2012-01-06 14:33:13 +08:00
Mike Primm 42365ca563 Fix handling of double question marks in chat messages (weird jQuery tricks) 2012-01-06 00:30:04 -06:00
Mike Primm 8207559a5f Merge remote branch 'upstream/master' 2012-01-04 23:39:33 -06:00
Mike Primm fde86f1170 Add hideifsneaking option for hiding players that are sneaking/crouching 2012-01-05 13:37:16 +08:00
Mike Primm 08fc4145b1 Add support for optional spawn-bed layer (show player's spawn beds) 2012-01-04 23:34:32 -06:00
Mike Primm a8c1558e3c Add hideifsneaking option for hiding players that are sneaking/crouching 2012-01-04 21:59:18 -06:00
Mike Primm 98a1f32e0f Add support for lily pad orientation calculation 2012-01-04 14:26:16 +08:00
Mike Primm a5bc33e1e9 Add 'followmap' and 'followzoom' to allow setting of map and zoom when starting to follow a player 2012-01-03 15:24:31 +08:00
Mike Primm 204b54155a Add texture generators for fire, lava, water; fix water lighting and biome shading to match MC client; fix lily, birch, pine leaf shading to match client 2012-01-03 13:26:14 +08:00
Mike Primm a9b9a7c5c6 Improve browser cache behavior with tiles (cache more often) 2012-01-03 05:08:51 +08:00
Mike Primm bb40f9b281 Add RedPowerMachines2 support 2012-01-02 10:13:29 -06:00
Mike Primm b2535bf469 Add RedPower2Array, drop obsolete (conflicting) BuildCraft pipe IDs 2012-01-02 01:08:29 -06:00
Mike Primm 9acaa523e6 Add RedPower2Lighting 2012-01-01 23:22:38 -06:00
Mike Primm 964b3246e1 Add RedPower2Logic (basic - orientation can't be done right yet) 2012-01-01 22:54:14 -06:00
Mike Primm 3a11277907 Merge remote branch 'upstream/master' 2012-01-01 21:35:24 -06:00
Mike Primm 950727057d Start RedPower2 support - RedPower2Core and RedPower2World 2012-01-01 21:31:54 -06:00
Mike Primm 20730d23e8 Prevent caching of configuration URL on JSON file mode 2012-01-02 08:19:40 +08:00
Mike Primm f24e460cd6 Prevent caching of configuration URL on JSON file mode 2012-01-01 18:18:13 -06:00
Mike Primm 446c52e933 Fix exception during rejected chat message 2012-01-02 05:51:35 +08:00
Mike Primm 514e96605b Add 'pinned' choice for showlayercontrol: setting - show expanded layer control 2011-12-31 08:27:56 +08:00
Mike Primm dc7efc2642 Fix duplicate IDs in ids-for-ip list 2011-12-31 05:05:06 +08:00
Mike Primm 87be292538 Add /dynmap add-id-by-ip and /dynmap del-id-by-ip to allow manual adding and removing of IP to ID mappings 2011-12-31 05:05:05 +08:00
Mike Primm 3c1c8ec8dc Make 2D outlines support Y coordinates other than y=64 2011-12-30 23:52:33 +08:00
Mike Primm a743524318 Reconnect active command output to player after restart, logoff/logon 2011-12-30 16:03:18 +08:00
Mike Primm 8c9733b73f Add /dynmap updaterender command - renders starting at selected location until map edge hit OR until rendered tiles match existing tiles (i.e. no changes) 2011-12-30 15:39:29 +08:00
Mike Primm cefcae2437 Add 'blockfromto' and 'blockphysics' triggers - needed for lava and water flow, as well as falling sand and gravel 2011-12-30 08:47:22 +08:00
Mike Primm 17fd2c1efe Use replace() instead of replaceAll(), where possible 2011-12-29 14:32:13 +08:00
Mike Primm e009aefb18 Add support for 'use-player-login-ip', 'require-player-login-ip' - map player login IP addresses to web chat addresses 2011-12-29 14:32:13 +08:00
Mike Primm 09fbf312ac Add support for substitution variables in model and texture files - update BuildCraft and IndustrialCraft2 support files to use them (so that custom block ID mappings cna be handled by adding configuration.txt settings) 2011-12-29 14:32:13 +08:00
Mike Primm ac6b3a072e Bump to 0.29 2011-12-28 09:37:53 -06:00
Mike Primm babc8cd073 Fix accumulation of weak reference keys (mem leak) in snapshot cache 2011-12-28 14:38:26 +08:00
Mike Primm bd92cc37bf Switch chat name URL parm to 'chatname', add 'playername' URL part for initial player follow selection 2011-12-26 13:11:46 +08:00
Mike Primm ca00a84dc5 Fix cleanup of area outlines with minzoom when switching maps 2011-12-24 22:09:18 -06:00
Mike Primm 1af56db030 Fix minzoom handling for area markers 2011-12-23 14:11:02 +08:00
Mike Primm 93613404ba Adjust handling of transparent biome shading files (grass, foliage), as used in Painter's texture pack 2011-12-23 13:32:27 +08:00
Mike Primm cd067adfdc Fix issue with white blank tiles at edge of JPG rendered maps 2011-12-23 13:32:27 +08:00
Mike Primm b872aa039e Handle Essentials-style nickname color coding (&0-&f) in player nicknames 2011-12-23 07:20:48 +08:00
Mike Primm eafbe62c46 Add support for minzoom attribute on marker sets - hide markers below configurable zoom for each marker set 2011-12-23 04:31:10 +08:00
Mike Primm 7373de85a2 Add support for updating stock shaders.txt, perspectives.txt, lightings.txt with additional defaults. 2011-12-23 04:31:09 +08:00
Mike Primm 44106a799a Add 'allowurlname' setting for 'chat' - permits web name set with playername= parameter 2011-12-23 04:31:09 +08:00
Mike Primm 756202affd Bump to 0.28 2011-12-17 00:00:27 -06:00
Mike Primm 5dedf1d6e8 Add /dynmap radiusrender <world> <x> <z> <radius> - console usable radiusrender 2011-12-17 13:18:43 +08:00
Mike Primm 96e4742bfe Dial the ticklist workaround to align with proposed numbers in CraftBukkit-Bleeding fix 2011-12-17 07:43:06 +08:00
Mike Primm 9c0f33bd3d Adjust ticklist workaround to handle nether's tendancy to have ticklist processed events beget new ticklist events, more or less constantly.... 2011-12-17 07:26:31 +08:00
Mike Primm 4a3e95a118 Remove marker label field if label for marker is blank ("") 2011-12-16 01:26:13 +08:00
Mike Primm 3c849b9d66 Add 'grayplayerswhenhidden' option to allow disable of graying of players in player list when not visible on current map 2011-12-16 01:26:13 +08:00
Mike Primm 5af670de61 Add extra topographical shader, TerraNetworkOrgTopo - thanks to TerraNetworkOrg! 2011-12-16 00:09:48 +08:00
Mike Primm 708f0b3c80 Make it so that blank label ("") on area marker disables popup on area 2011-12-15 23:54:45 +08:00
Mike Primm 102012aa91 Detect scaled models that yield full blocks, and optimize to solid 2011-12-15 15:04:17 +08:00
Mike Primm ba2c3eac1c Add support for cleanup of stale tiles (off edge of map) 2011-12-15 13:26:09 +08:00
Mike Primm 8f66d34752 Make water blocks full blocks - big performance boost 2011-12-15 13:26:09 +08:00
Mike Primm 03b280fe2d Add 'usenormalthreadpriority' setting (makes renders on Windows use normal priority) 2011-12-15 00:35:00 +08:00
Mike Primm f7dedff413 Add 'showlayercontrol' config setting and URL parameter, to allow hide of layer control 2011-12-15 00:02:37 +08:00
Mike Primm d5e1bc1b4d Fix size/layout of player faces in chatbox 2011-12-12 02:20:32 +08:00
Mike Primm ef16a13cd5 Bump to 0.27 2011-12-11 01:22:13 -06:00
Mike Primm 14ecd5f778 Fix rare boundary condition error 2011-12-11 13:54:38 +08:00
Mike Primm 05aa0960f2 Various performance and concurrency optimizations 2011-12-10 14:15:54 +08:00
Mike Primm fd887b47b4 Add tiles-rendered-at-once setting, control update tile concurrency 2011-12-10 11:34:02 +08:00
Mike Primm 9bdf13e460 Add TopoHDShader for generating altitude based topology maps 2011-12-10 08:22:24 +08:00
Mike Primm 1b8fe6bba8 Scrub obsolete events from update queue (reduce traffic) 2011-12-09 13:23:16 +08:00
Mike Primm aea2d29c98 Fix config hashcode inconsistency on world loads (UI reload loop in JSON mode) 2011-12-09 12:22:29 +08:00
Mike Primm 6a86b81417 Start optimize of update event handling 2011-12-08 16:14:51 +08:00
Mike Primm 6ee141cada Revert to older Leaflet until zoom problem is worked out 2011-12-07 15:33:42 +08:00
Mike Primm 36b81768cd Add tick list monitoring - deal with 1.0.0 getting behind when rendering 2011-12-07 15:33:42 +08:00
Mike Primm 3e4bc59834 Retire regions components (Residence, Towny, WorldGuard, Factions) 2011-12-05 14:58:17 +08:00
Mike Primm 4f2f968353 Move DynmapWebChatEvent to API 2011-12-05 14:17:04 +08:00
Mike Primm b936e67a88 Add APIs for hide/show player and for player-oriented web chat input 2011-12-05 14:17:04 +08:00
Mike Primm 710f5eaa7d Update leaflet - improves zoom in panning problem (better, not perfect) 2011-12-04 00:32:25 +08:00
Mike Primm 19f9733aab Add 'fullrenderplayerlimit' - pause fullrender when number of active players reaches optional limit, resumes after 2011-12-03 13:17:26 +08:00
Mike Primm de6b90784f Add '/dynmap pause' command to pause/unpause full/radius and update rendering 2011-12-03 06:20:57 +08:00
Mike Primm 8f6982265a Support checking banned IPs from external server proxied requests 2011-12-03 05:32:43 +08:00
Mike Primm 82318346c2 Add 'hidey' option to 'coord' component - option to show just X,Z 2011-12-03 04:32:25 +08:00
Mike Primm 893117d638 Work player marker layout - center icon on player location 2011-12-03 04:13:51 +08:00
Mike Primm 348a37af87 Add support for 8x8 and 32x32 marker icons (default still 16x16) 2011-12-01 15:24:19 +08:00
Mike Primm 52a09d41b4 Add more performance measurements 2011-12-01 15:24:19 +08:00
Mike Primm edcf1cfd10 Make web UI reload when configuration changes, server restarts 2011-11-30 12:34:13 +08:00
Mike Primm 4af95f57df Fix problem with hashfile code handling dots/periods in world names 2011-11-30 12:12:00 +08:00
Mike Primm 3ad67483ae Turn off smoothing factor on area markers 2011-11-29 21:58:02 +08:00
Mike Primm ba0d197e78 Merge remote branch 'upstream/master' 2011-11-28 20:53:38 -06:00
Mike Primm 047897d0b0 Make compass rose smaller on mobile device browsers 2011-11-29 10:52:15 +08:00
Mike Primm a4056bc502 Bump to 0.26 2011-11-29 10:52:15 +08:00
FrozenCow f13e91ad2b Set worldCopyJump to false, just to be sure of future Leaflet updates. 2011-11-29 10:52:15 +08:00
FrozenCow 6d39aba001 Fixed locked on Y-axis (non continuous world). 2011-11-29 10:52:14 +08:00
Mike Primm 2781f47463 Merge remote branch 'origin/master' 2011-11-28 20:51:09 -06:00
Mike Primm 4992e92aab Make compass rose smaller on mobile device browsers 2011-11-28 20:50:42 -06:00
Mike Primm dc2dc578e9 Bump to 0.26 2011-11-28 20:50:13 -06:00
Mike Primm 176dbcf99f Merge remote branch 'org.eclipse.jgit.transport.RemoteConfig@4424f1a9/leafletupdate' 2011-11-28 18:55:06 -06:00
Mike Primm e77c36c6f3 Make sure format of version-buildnum matches 2011-11-27 19:35:49 -06:00
Mike Primm 1472e96104 Add build number to version.js too 2011-11-27 19:30:57 -06:00
Mike Primm ecf01547cd Try inserting build number into version 2011-11-27 17:21:23 -06:00
Mike Primm 97998892ba Merge remote branch 'upstream/master' 2011-11-27 17:01:25 -06:00
Mike Primm 236ba68cae Switch maven dependencies to ranges 2011-11-27 16:37:43 -06:00
Mike Primm e0925dfc98 Switch maven shader from exclude to include - keep idiot maven from pulling in PEX from shared build server.... 2011-11-27 15:47:51 -06:00
FrozenCow 5e33afd361 Removed redundant declaration. 2011-11-28 01:38:48 +08:00
Mike Primm 91fa58584e Try another update to see if PEX is appeased 2011-11-27 11:25:22 -06:00
FrozenCow 164f6f275c Set worldCopyJump to false, just to be sure of future Leaflet updates. 2011-11-28 00:13:12 +08:00
Mike Primm 48c43c5abb Delay asking for PermissionHandler - might help PEX not freak out 2011-11-27 10:06:23 -06:00
FrozenCow 37a6b2932a Fixed locked on Y-axis (non continuous world). 2011-11-27 23:32:09 +08:00
Mike Primm 0025bd62fb Start leaflet update... 2011-11-25 19:59:01 -06:00
122 changed files with 5589 additions and 4617 deletions
+116 -97
View File
@@ -1,73 +1,76 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.dynmap</groupId>
<artifactId>dynmap</artifactId>
<version>0.25.1</version>
<name>dynmap</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<BUILD_NUMBER>dev</BUILD_NUMBER>
</properties>
<url>http://github.com/webbukkit/dynmap/</url>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/webbukkit/dynmap/issues</url>
</issueManagement>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>*.yml</include>
<include>*.txt</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>*.yml</exclude>
<exclude>*.txt</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<includes>
<include>org.dynmap:dynmap-api:jar:*</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<modelVersion>4.0.0</modelVersion>
<groupId>org.dynmap</groupId>
<artifactId>dynmap</artifactId>
<version>0.30</version>
<name>dynmap</name>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<BUILD_NUMBER>dev</BUILD_NUMBER>
</properties>
<url>http://github.com/webbukkit/dynmap/</url>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/webbukkit/dynmap/issues</url>
</issueManagement>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>*.yml</include>
<include>*.txt</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>*.yml</exclude>
<exclude>*.txt</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>1.5</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<artifactSet>
<includes>
<include>org.dynmap:dynmap-api:jar:*</include>
<include>org.eclipse.jetty:jetty-*:jar:*</include>
<include>javax.servlet:javax.servlet-api:jar:*</include>
</includes>
</artifactSet>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptors>
<descriptor>src/main/assembly/package.xml</descriptor>
</descriptors>
<descriptors>
<descriptor>src/main/assembly/package.xml</descriptor>
</descriptors>
<!-- Hack for bug in maven-assembly: http://jira.codehaus.org/browse/MASSEMBLY-449 -->
<archiverConfig>
<fileMode>420</fileMode> <!-- 420(dec) = 644(oct) -->
@@ -76,36 +79,52 @@
</archiverConfig>
</configuration>
<executions>
<execution>
<id>build</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
<execution>
<id>build</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.nijikokun.bukkit</groupId>
<artifactId>Permissions</artifactId>
<version>[2.5.4,)</version>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>[1.0.0-R1-SNAPSHOT,)</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.dynmap</groupId>
<artifactId>dynmap-api</artifactId>
<version>[0.25,)</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
</dependencies>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.nijikokun.bukkit</groupId>
<artifactId>Permissions</artifactId>
<version>[2.5.4,)</version>
</dependency>
<dependency>
<groupId>org.bukkit</groupId>
<artifactId>bukkit</artifactId>
<version>[1.0.0-R1-SNAPSHOT,)</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.dynmap</groupId>
<artifactId>dynmap-api</artifactId>
<version>[0.25,)</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>8.0.1.v20110908</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>8.0.1.v20110908</version>
</dependency>
</dependencies>
</project>
+65 -67
View File
@@ -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
View File
@@ -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
View File
@@ -1,11 +1,13 @@
# Industrial Craft 2 Texture mapping
# define ic2-support: true in configuration.txt to enable
enabled:ic2-support
# variables: set in configuration.txt to override
var: ic2-blockCable=228,ic2-blockFenceIron=232,ic2-blockMachine2=223,ic2-blockPersonal=225,ic2-blockLuminator=226,ic2-blockElectric=227,ic2-blockReactorChamber=233,ic2-blockNuke=237,ic2-blockGenerator=246,ic2blockMachine=250
# Wire - set render alg
linkmap:id=228,linkalg=5,linkid=223,linkid=225,linkid=226,linkid=227,linkid=228,linkid=233,linkid=237,linkid=246,linkid=250
linkmap:id=ic2-blockCable,linkalg=5,linkid=ic2-blockMachine2,linkid=ic2-blockPersonal,linkid=ic2-blockLuminator,linkid=ic2-blockElectric,linkid=ic2-blockCable,linkid=ic2-blockReactorChamber,linkid=ic2-blockNuke,linkid=ic2-blockGenerator,linkid=ic2blockMachine
# Wire - (data is faked: 1=north,2=east,4=south,8=west)
# Wire - no neighbors
block:id=228,data=0,scale=16
block:id=ic2-blockCable,data=0,scale=16
layer:5,6,7,8,9,10
----------------
----------------
@@ -24,7 +26,7 @@ layer:5,6,7,8,9,10
----------------
----------------
# Wire - just north neighbor
block:id=228,data=1,scale=16
block:id=ic2-blockCable,data=1,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@@ -43,16 +45,16 @@ layer:5,6,7,8,9,10
----------------
----------------
# Wire - just east neighbor
block:id=228,data=2,scale=16
rotate:id=228,data=1,rot=90
block:id=ic2-blockCable,data=2,scale=16
rotate:id=ic2-blockCable,data=1,rot=90
# Wire - just south neighbor
block:id=228,id=113,data=4,scale=16
rotate:id=228,data=1,rot=180
block:id=ic2-blockCable,id=113,data=4,scale=16
rotate:id=ic2-blockCable,data=1,rot=180
# Wire - just south neighbor
block:id=228,data=8,scale=16
rotate:id=228,data=1,rot=270
block:id=ic2-blockCable,data=8,scale=16
rotate:id=ic2-blockCable,data=1,rot=270
# Wire - north and east neighbor
block:id=228,data=3,scale=16
block:id=ic2-blockCable,data=3,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@@ -71,16 +73,16 @@ layer:5,6,7,8,9,10
----------------
----------------
# Wire - east and south neighbor
block:id=228,data=6,scale=16
rotate:id=228,data=3,rot=90
block:id=ic2-blockCable,data=6,scale=16
rotate:id=ic2-blockCable,data=3,rot=90
# Wire - south and west neighbor
block:id=228,data=12,scale=16
rotate:id=228,data=3,rot=180
block:id=ic2-blockCable,data=12,scale=16
rotate:id=ic2-blockCable,data=3,rot=180
# Wire - west and north neighbor
block:id=228,data=9,scale=16
rotate:id=228,data=3,rot=270
block:id=ic2-blockCable,data=9,scale=16
rotate:id=ic2-blockCable,data=3,rot=270
# Wire - north and south neighbor
block:id=228,data=5,scale=16
block:id=ic2-blockCable,data=5,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@@ -99,10 +101,10 @@ layer:5,6,7,8,9,10
-----******-----
-----******-----
# Wire - east and west neighbor
block:id=228,data=10,scale=16
rotate:id=228,data=5,rot=90
block:id=ic2-blockCable,data=10,scale=16
rotate:id=ic2-blockCable,data=5,rot=90
# Wire - north, east and south neighbor
block:id=228,data=7,scale=16
block:id=ic2-blockCable,data=7,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@@ -121,16 +123,16 @@ layer:5,6,7,8,9,10
-----******-----
-----******-----
# Wire - east, south and west neighbor
block:id=228,data=14,scale=16
rotate:id=228,data=7,rot=90
block:id=ic2-blockCable,data=14,scale=16
rotate:id=ic2-blockCable,data=7,rot=90
# Wire - south, west and north neighbor
block:id=228,data=13,scale=16
rotate:id=228,data=7,rot=180
block:id=ic2-blockCable,data=13,scale=16
rotate:id=ic2-blockCable,data=7,rot=180
# Wire - west, north and east neighbor
block:id=228,data=11,scale=16
rotate:id=228,data=7,rot=270
block:id=ic2-blockCable,data=11,scale=16
rotate:id=ic2-blockCable,data=7,rot=270
# Wire - north, south, east, west neightbors
block:id=228,data=15,scale=16
block:id=ic2-blockCable,data=15,scale=16
layer:5,6,7,8,9,10
-----******-----
-----******-----
@@ -149,53 +151,53 @@ layer:5,6,7,8,9,10
-----******-----
-----******-----
# Iron Fence - set render algorithm
linkmap:id=232,linkalg=1
linkmap:id=ic2-blockFenceIron,linkalg=1
# Iron Fence - (data is faked: 1=north,2=east,4=south,8=west)
# Iron Fence - no neighbors
block:id=232,data=0,scale=16
block:id=ic2-blockFenceIron,data=0,scale=16
rotate:id=85,data=0,rot=0
# Iron Fence - just north neighbor
block:id=232,data=1,scale=16
block:id=ic2-blockFenceIron,data=1,scale=16
rotate:id=85,data=1,rot=0
# Iron Fence - just east neighbor
block:id=232,data=2,scale=16
rotate:id=232,data=1,rot=90
block:id=ic2-blockFenceIron,data=2,scale=16
rotate:id=ic2-blockFenceIron,data=1,rot=90
# Iron Fence - just south neighbor
block:id=232,data=4,scale=16
rotate:id=232,data=1,rot=180
block:id=ic2-blockFenceIron,data=4,scale=16
rotate:id=ic2-blockFenceIron,data=1,rot=180
# Iron Fence - just south neighbor
block:id=232,data=8,scale=16
rotate:id=232,data=1,rot=270
block:id=ic2-blockFenceIron,data=8,scale=16
rotate:id=ic2-blockFenceIron,data=1,rot=270
# Iron Fence - north and east neighbor
block:id=232,data=3,scale=16
block:id=ic2-blockFenceIron,data=3,scale=16
rotate:id=85,data=3,rot=0
# Iron Fence - east and south neighbor
block:id=232,data=6,scale=16
rotate:id=232,data=3,rot=90
block:id=ic2-blockFenceIron,data=6,scale=16
rotate:id=ic2-blockFenceIron,data=3,rot=90
# Iron Fence - south and west neighbor
block:id=232,data=12,scale=16
block:id=ic2-blockFenceIron,data=12,scale=16
rotate:id=85,data=3,rot=180
# Iron Fence - west and north neighbor
block:id=232,data=9,scale=16
block:id=ic2-blockFenceIron,data=9,scale=16
rotate:id=85,data=3,rot=270
# Iron Fence - north and south neighbor
block:id=232,data=5,scale=16
block:id=ic2-blockFenceIron,data=5,scale=16
rotate:id=85,data=5,rot=0
# Iron Fence - east and west neighbor
block:id=232,id=113,data=10,scale=16
rotate:id=232,data=5,rot=90
block:id=ic2-blockFenceIron,id=113,data=10,scale=16
rotate:id=ic2-blockFenceIron,data=5,rot=90
# Iron Fence - north, east and south neighbor
block:id=232,data=7,scale=16
block:id=ic2-blockFenceIron,data=7,scale=16
rotate:id=85,data=7,rot=0
# Iron Fence - east, south and west neighbor
block:id=232,data=14,scale=16
rotate:id=232,data=7,rot=90
block:id=ic2-blockFenceIron,data=14,scale=16
rotate:id=ic2-blockFenceIron,data=7,rot=90
# Iron Fence - south, west and north neighbor
block:id=232,data=13,scale=16
rotate:id=232,data=7,rot=180
block:id=ic2-blockFenceIron,data=13,scale=16
rotate:id=ic2-blockFenceIron,data=7,rot=180
# Iron Fence - west, north and east neighbor
block:id=232,data=11,scale=16
rotate:id=232,data=7,rot=270
block:id=ic2-blockFenceIron,data=11,scale=16
rotate:id=ic2-blockFenceIron,data=7,rot=270
# Iron Fence - north, south, east, west neightbors
block:id=232,data=15,scale=16
rotate:id=232,data=15,rot=0
block:id=ic2-blockFenceIron,data=15,scale=16
rotate:id=ic2-blockFenceIron,data=15,rot=0
+93 -87
View File
@@ -1,6 +1,12 @@
# Industrial Craft 2 Block mapping
# define ic2-support: true in configuration.txt to enable
enabled:ic2-support
# variables: set in configuration.txt to override
var:ic2-blockScaffold=220,ic2-blockWall=221,ic2-blockFoam=222,ic2-blockMachine2=223,ic2-blockMetal=224,ic2-blockPersonal=225,ic2-blockLuminator=226,ic2-blockElectric=227
var:ic2-blockCable=228,ic2-blockDoorAlloy=229,ic2-blockAlloyGlass=230,ic2-blockAlloy=231,ic2-blockFenceIron=232,ic2-blockReactorChamber=233
var:ic2-blockRubber=234,ic2-blockDynamiteRemote=235,ic2-blockDynamite=236,ic2-blockNuke=237,ic2-blockITNT=239,ic2-blockHarz=240,ic2-blockRubSapling=241
var:ic2-blockRubLeaves=242,ic2-blockRubWood=243,ic2-blockMiningTip=244,ic2-blockMiningPipe=245,ic2-blockGenerator=246
var:ic2-blockOreUran=247,ic2-blockOreTin=248,ic2-blockOreCopper=249,ic2-blockMachine=250
# Files
texturefile:id=blk0,filename=ic2/sprites/block_0.png,xcount=16,ycount=16
texturefile:id=cable,filename=ic2/sprites/block_cable.png,xcount=16,ycount=16
@@ -12,186 +18,186 @@ texturefile:id=pers,filename=ic2/sprites/block_personal.png,xcount=16,ycount=16
# Blocks
# blockScaffold=220
# data=*
block:id=220,data=*,allsides=116,topbottom=117,txtid=blk0
block:id=ic2-blockScaffold,data=*,allsides=116,topbottom=117,txtid=blk0
# data=2
block:id=220,data=2,allfaces=118,txtid=blk0
block:id=ic2-blockScaffold,data=2,allfaces=118,txtid=blk0
# blockWall=221
# data=0
block:id=221,data=0,allfaces=96,txtid=blk0
block:id=ic2-blockWall,data=0,allfaces=96,txtid=blk0
# data=1
block:id=221,data=1,allfaces=97,txtid=blk0
block:id=ic2-blockWall,data=1,allfaces=97,txtid=blk0
# data=2
block:id=221,data=2,allfaces=98,txtid=blk0
block:id=ic2-blockWall,data=2,allfaces=98,txtid=blk0
# data=3
block:id=221,data=3,allfaces=99,txtid=blk0
block:id=ic2-blockWall,data=3,allfaces=99,txtid=blk0
# data=4
block:id=221,data=4,allfaces=100,txtid=blk0
block:id=ic2-blockWall,data=4,allfaces=100,txtid=blk0
# data=5
block:id=221,data=5,allfaces=101,txtid=blk0
block:id=ic2-blockWall,data=5,allfaces=101,txtid=blk0
# data=6
block:id=221,data=6,allfaces=102,txtid=blk0
block:id=ic2-blockWall,data=6,allfaces=102,txtid=blk0
# data=7
block:id=221,data=7,allfaces=103,txtid=blk0
block:id=ic2-blockWall,data=7,allfaces=103,txtid=blk0
# data=8
block:id=221,data=8,allfaces=104,txtid=blk0
block:id=ic2-blockWall,data=8,allfaces=104,txtid=blk0
# data=9
block:id=221,data=9,allfaces=105,txtid=blk0
block:id=ic2-blockWall,data=9,allfaces=105,txtid=blk0
# data=10
block:id=221,data=10,allfaces=106,txtid=blk0
block:id=ic2-blockWall,data=10,allfaces=106,txtid=blk0
# data=11
block:id=221,data=11,allfaces=107,txtid=blk0
block:id=ic2-blockWall,data=11,allfaces=107,txtid=blk0
# data=12
block:id=221,data=12,allfaces=108,txtid=blk0
block:id=ic2-blockWall,data=12,allfaces=108,txtid=blk0
# data=13
block:id=221,data=13,allfaces=109,txtid=blk0
block:id=ic2-blockWall,data=13,allfaces=109,txtid=blk0
# data=14
block:id=221,data=14,allfaces=110,txtid=blk0
block:id=ic2-blockWall,data=14,allfaces=110,txtid=blk0
# data=15
block:id=221,data=15,allfaces=111,txtid=blk0
block:id=ic2-blockWall,data=15,allfaces=111,txtid=blk0
# blockFoam=222
block:id=222,data=*,allfaces=37
block:id=ic2-blockFoam,data=*,allfaces=37
# blockMachine2=223
# data=0
block:id=223,data=0,top=0,bottom=16,north=32,south=48,east=64,west=80,txtid=mach2
block:id=ic2-blockMachine2,data=0,top=0,bottom=16,north=32,south=48,east=64,west=80,txtid=mach2
# data=1
block:id=223,data=1,top=1,bottom=17,north=33,south=49,east=65,west=81,txtid=mach2
block:id=ic2-blockMachine2,data=1,top=1,bottom=17,north=33,south=49,east=65,west=81,txtid=mach2
# blockMetal=224
# data=0 (copper)
block:id=224,data=0,allfaces=93,txtid=blk0
block:id=ic2-blockMetal,data=0,allfaces=93,txtid=blk0
# data=1 (tin)
block:id=224,data=1,allfaces=94,txtid=blk0
block:id=ic2-blockMetal,data=1,allfaces=94,txtid=blk0
# data=2 (bronze)
block:id=224,data=2,allfaces=78,txtid=blk0
block:id=ic2-blockMetal,data=2,allfaces=78,txtid=blk0
# data=3 (uranium)
block:id=224,data=3,topbottom=79,allsides=95,txtid=blk0
block:id=ic2-blockMetal,data=3,topbottom=79,allsides=95,txtid=blk0
# blockPersonal=225
# data=0
block:id=225,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=pers
block:id=ic2-blockPersonal,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=pers
# data=1
block:id=225,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=pers
block:id=ic2-blockPersonal,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=pers
# blockLuminator=226
block:id=226,data=*,allfaces=31,txtid=blk0
block:id=ic2-blockLuminator,data=*,allfaces=31,txtid=blk0
# blockElectric=227
# data=0
block:id=227,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=elec
block:id=ic2-blockElectric,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=elec
# data=1
block:id=227,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=elec
block:id=ic2-blockElectric,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=elec
# data=2
block:id=227,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=elec
block:id=ic2-blockElectric,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=elec
# data=3
block:id=227,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=elec
block:id=ic2-blockElectric,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=elec
# data=4
block:id=227,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=elec
block:id=ic2-blockElectric,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=elec
# data=5
block:id=227,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=elec
block:id=ic2-blockElectric,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=elec
# blockCable=228
# data=0
block:id=228,data=0,allfaces=0,txtid=cable
block:id=ic2-blockCable,data=0,allfaces=0,txtid=cable
# data=1
block:id=228,data=1,allfaces=16,txtid=cable
block:id=ic2-blockCable,data=1,allfaces=16,txtid=cable
# data=2
block:id=228,data=2,allfaces=32,txtid=cable
block:id=ic2-blockCable,data=2,allfaces=32,txtid=cable
# data=3
block:id=228,data=3,allfaces=48,txtid=cable
block:id=ic2-blockCable,data=3,allfaces=48,txtid=cable
# data=4
block:id=228,data=4,allfaces=64,txtid=cable
block:id=ic2-blockCable,data=4,allfaces=64,txtid=cable
# data=5
block:id=228,data=5,allfaces=80,txtid=cable
block:id=ic2-blockCable,data=5,allfaces=80,txtid=cable
# data=6
block:id=228,data=6,allfaces=96,txtid=cable
block:id=ic2-blockCable,data=6,allfaces=96,txtid=cable
# data=7
block:id=228,data=7,allfaces=112,txtid=cable
block:id=ic2-blockCable,data=7,allfaces=112,txtid=cable
# data=8
block:id=228,data=8,allfaces=128,txtid=cable
block:id=ic2-blockCable,data=8,allfaces=128,txtid=cable
# data=9
block:id=228,data=9,allfaces=144,txtid=cable
block:id=ic2-blockCable,data=9,allfaces=144,txtid=cable
# data=10
block:id=228,data=10,allfaces=160,txtid=cable
block:id=ic2-blockCable,data=10,allfaces=160,txtid=cable
# blockDoorAlloy=229
# data=0-7 (bottom)
block:id=229,data=0,data=1,data=2,data=3,data=4,data=5,data=6,data=7,allsides=15,topbottom=12,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockDoorAlloy,data=0,data=1,data=2,data=3,data=4,data=5,data=6,data=7,allsides=15,topbottom=12,transparency=TRANSPARENT,txtid=blk0
# data=8-15 (top)
block:id=229,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=14,topbottom=12,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockDoorAlloy,data=8,data=9,data=10,data=11,data=12,data=13,data=14,data=15,allsides=14,topbottom=12,transparency=TRANSPARENT,txtid=blk0
# blockAlloyGlass=230
block:id=230,data=*,allfaces=13,txtid=blk0,transparency=TRANSPARENT
block:id=ic2-blockAlloyGlass,data=*,allfaces=13,txtid=blk0,transparency=TRANSPARENT
# blockAlloy=231
block:id=231,data=*,allfaces=12,txtid=blk0
block:id=ic2-blockAlloy,data=*,allfaces=12,txtid=blk0
# blockFenceIron=232
block:id=232,data=*,allfaces=1,txtid=blk0,transparency=TRANSPARENT
block:id=ic2-blockFenceIron,data=*,allfaces=1,txtid=blk0,transparency=TRANSPARENT
# blockReactorChamber=233
block:id=233,data=*,bottom=16,top=17,allsides=67,txtid=blk0
block:id=ic2-blockReactorChamber,data=*,bottom=16,top=17,allsides=67,txtid=blk0
# blockRubber=234
block:id=234,data=*,allfaces=40,txtid=blk0
block:id=ic2-blockRubber,data=*,allfaces=40,txtid=blk0
# blockDynamiteRemote=235
block:id=235,data=*,allsides=56,txtid=blk0
block:id=ic2-blockDynamiteRemote,data=*,allsides=56,txtid=blk0
# blockDynamite=236
block:id=236,data=*,allsides=57,txtid=blk0
block:id=ic2-blockDynamite,data=*,allsides=57,txtid=blk0
# blockNuke=237
block:id=237,data=*,bottom=61,top=62,allsides=63,txtid=blk0
block:id=ic2-blockNuke,data=*,bottom=61,top=62,allsides=63,txtid=blk0
# ?=238
# blockITNT=239
block:id=239,data=*,bottom=58,top=59,allsides=60,txtid=blk0
block:id=ic2-blockITNT,data=*,bottom=58,top=59,allsides=60,txtid=blk0
# blockHarz=240
block:id=240,data=*,allfaces=43,txtid=blk0
block:id=ic2-blockHarz,data=*,allfaces=43,txtid=blk0
# blockRubSapling=241
block:id=241,data=*,allsides=2038,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockRubSapling,data=*,allsides=2038,transparency=TRANSPARENT,txtid=blk0
# blockRubLeaves=242
block:id=242,data=*,allfaces=2040,transparency=TRANSPARENT,txtid=blk0
block:id=ic2-blockRubLeaves,data=*,allfaces=2040,transparency=TRANSPARENT,txtid=blk0
# blockRubWood=243
block:id=243,data=*,topbottom=47,allsides=44,txtid=blk0
block:id=ic2-blockRubWood,data=*,topbottom=47,allsides=44,txtid=blk0
# blockMiningTip=244
block:id=244,data=*,allfaces=36,txtid=blk0
block:id=ic2-blockMiningTip,data=*,allfaces=36,txtid=blk0
# blockMiningPipe=245
block:id=245,data=*,allfaces=35,txtid=blk0
block:id=ic2-blockMiningPipe,data=*,allfaces=35,txtid=blk0
# blockGenerator=246
# data=0
block:id=246,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=gen
block:id=ic2-blockGenerator,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=gen
# data=1
block:id=246,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=gen
block:id=ic2-blockGenerator,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=gen
# data=2
block:id=246,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=gen
block:id=ic2-blockGenerator,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=gen
# data=3
block:id=246,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=gen
block:id=ic2-blockGenerator,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=gen
# data=4
block:id=246,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=gen
block:id=ic2-blockGenerator,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=gen
# data=5
block:id=246,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=gen
block:id=ic2-blockGenerator,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=gen
# blockOreUran=247
block:id=247,data=*,allfaces=34,txtid=blk0
block:id=ic2-blockOreUran,data=*,allfaces=34,txtid=blk0
# blockOreTin=248
block:id=248,data=*,allfaces=33,txtid=blk0
block:id=ic2-blockOreTin,data=*,allfaces=33,txtid=blk0
# blockOreCopper=249
block:id=249,data=*,allfaces=32,txtid=blk0
block:id=ic2-blockOreCopper,data=*,allfaces=32,txtid=blk0
# blockMachine=250
# data=0
block:id=250,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=mach
block:id=ic2-blockMachine,data=0,bottom=0,top=16,north=32,south=48,east=64,west=80,txtid=mach
# data=1
block:id=250,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=mach
block:id=ic2-blockMachine,data=1,bottom=1,top=17,north=33,south=49,east=65,west=81,txtid=mach
# data=2
block:id=250,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=mach
block:id=ic2-blockMachine,data=2,bottom=2,top=18,north=34,south=50,east=66,west=82,txtid=mach
# data=3
block:id=250,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=mach
block:id=ic2-blockMachine,data=3,bottom=3,top=19,north=35,south=51,east=67,west=83,txtid=mach
# data=4
block:id=250,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=mach
block:id=ic2-blockMachine,data=4,bottom=4,top=20,north=36,south=52,east=68,west=84,txtid=mach
# data=5
block:id=250,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=mach
block:id=ic2-blockMachine,data=5,bottom=5,top=21,north=37,south=53,east=69,west=85,txtid=mach
# data=6
block:id=250,data=6,bottom=6,top=22,north=38,south=54,east=70,west=86,txtid=mach
block:id=ic2-blockMachine,data=6,bottom=6,top=22,north=38,south=54,east=70,west=86,txtid=mach
# data=7
block:id=250,data=7,bottom=7,top=23,north=39,south=55,east=71,west=87,txtid=mach
block:id=ic2-blockMachine,data=7,bottom=7,top=23,north=39,south=55,east=71,west=87,txtid=mach
# data=8
block:id=250,data=8,bottom=8,top=24,north=40,south=56,east=72,west=88,txtid=mach
block:id=ic2-blockMachine,data=8,bottom=8,top=24,north=40,south=56,east=72,west=88,txtid=mach
# data=9
block:id=250,data=9,bottom=9,top=25,north=41,south=57,east=73,west=89,txtid=mach
block:id=ic2-blockMachine,data=9,bottom=9,top=25,north=41,south=57,east=73,west=89,txtid=mach
# data=10
block:id=250,data=10,bottom=10,top=26,north=42,south=58,east=74,west=90,txtid=mach
block:id=ic2-blockMachine,data=10,bottom=10,top=26,north=42,south=58,east=74,west=90,txtid=mach
# data=11
block:id=250,data=11,bottom=11,top=27,north=43,south=59,east=75,west=91,txtid=mach
block:id=ic2-blockMachine,data=11,bottom=11,top=27,north=43,south=59,east=75,west=91,txtid=mach
# data=12
block:id=250,data=12,bottom=12,top=28,north=44,south=60,east=76,west=92,txtid=mach
block:id=ic2-blockMachine,data=12,bottom=12,top=28,north=44,south=60,east=76,west=92,txtid=mach
# data=13
block:id=250,data=13,bottom=13,top=29,north=45,south=61,east=77,west=93,txtid=mach
block:id=ic2-blockMachine,data=13,bottom=13,top=29,north=45,south=61,east=77,west=93,txtid=mach
# data=14
block:id=250,data=14,bottom=14,top=30,north=46,south=62,east=78,west=94,txtid=mach
block:id=ic2-blockMachine,data=14,bottom=14,top=30,north=46,south=62,east=78,west=94,txtid=mach
# data=15
block:id=250,data=15,bottom=15,top=31,north=47,south=63,east=79,west=95,txtid=mach
block:id=ic2-blockMachine,data=15,bottom=15,top=31,north=47,south=63,east=79,west=95,txtid=mach
+157
View File
@@ -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
****
****
****
****
+217
View File
@@ -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
-1
View File
@@ -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 {
/**
@@ -17,13 +17,16 @@ public class AsynchronousQueue<T> {
private int accelDequeueThresh;
private int pendingcnt;
private int pendinglimit;
private boolean normalprio;
public AsynchronousQueue(Handler<T> handler, int dequeueTime, int accelDequeueThresh, int accelDequeueTime, int pendinglimit) {
public AsynchronousQueue(Handler<T> handler, int dequeueTime, int accelDequeueThresh, int accelDequeueTime, int pendinglimit, boolean normalprio) {
this.handler = handler;
this.dequeueTime = dequeueTime;
this.accelDequeueTime = accelDequeueTime;
this.accelDequeueThresh = accelDequeueThresh;
if(pendinglimit < 1) pendinglimit = 1;
this.pendinglimit = pendinglimit;
this.normalprio = normalprio;
}
public boolean push(T t) {
@@ -82,7 +85,8 @@ public class AsynchronousQueue<T> {
});
thread.start();
try {
thread.setPriority(Thread.MIN_PRIORITY);
if(!normalprio)
thread.setPriority(Thread.MIN_PRIORITY);
} catch (SecurityException e) {
Log.info("Failed to set minimum priority for worker thread!");
}
+79 -5
View File
@@ -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,11 +32,23 @@ 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;
}
@Override
public boolean equals(Object o) {
if(o instanceof ChatMessage) {
ChatMessage m = (ChatMessage)o;
return m.source.equals(source) && m.playerName.equals(playerName) && m.message.equals(message);
}
return false;
}
@Override
public int hashCode() {
return source.hashCode() ^ playerName.hashCode() ^ message.hashCode();
}
}
public static class PlayerJoinMessage extends Update {
@@ -46,9 +56,21 @@ 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
public boolean equals(Object o) {
if(o instanceof PlayerJoinMessage) {
PlayerJoinMessage m = (PlayerJoinMessage)o;
return m.playerName.equals(playerName);
}
return false;
}
@Override
public int hashCode() {
return playerName.hashCode();
}
}
public static class PlayerQuitMessage extends Update {
@@ -56,9 +78,21 @@ 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
public boolean equals(Object o) {
if(o instanceof PlayerQuitMessage) {
PlayerQuitMessage m = (PlayerQuitMessage)o;
return m.playerName.equals(playerName);
}
return false;
}
@Override
public int hashCode() {
return playerName.hashCode();
}
}
public static class Tile extends Update {
@@ -68,6 +102,18 @@ public class Client {
public Tile(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if(o instanceof Tile) {
Tile m = (Tile)o;
return m.name.equals(name);
}
return false;
}
@Override
public int hashCode() {
return name.hashCode();
}
}
public static class DayNight extends Update {
@@ -77,10 +123,38 @@ public class Client {
public DayNight(boolean isday) {
this.isday = isday;
}
@Override
public boolean equals(Object o) {
if(o instanceof DayNight) {
return true;
}
return false;
}
@Override
public int hashCode() {
return 12345;
}
}
public static class ComponentMessage extends Update {
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;
}
}
@@ -14,6 +14,7 @@ public class ClientConfigurationComponent extends Component {
@Override
public void triggered(JSONObject t) {
ConfigurationNode c = plugin.configuration;
s(t, "confighash", plugin.getConfigHashcode());
s(t, "updaterate", c.getFloat("updaterate", 1.0f));
s(t, "showplayerfacesinmenu", c.getBoolean("showplayerfacesinmenu", true));
s(t, "joinmessage", c.getString("joinmessage", "%playername% joined"));
@@ -24,10 +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.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;
@@ -52,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,7 +32,10 @@ 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());
s(u, "servertime", world.getTime() % 24000);
s(u, "hasStorm", world.hasStorm());
s(u, "isThundering", world.isThundering());
@@ -49,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)
@@ -65,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());
@@ -98,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);
+1 -1
View File
@@ -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 double x, y, z;
public String world;
public DynmapLocation() {}
public DynmapLocation(String w, double x, double y, double z) {
world = w;
this.x = x; this.y = y; this.z = z;
}
}
File diff suppressed because it is too large Load Diff
@@ -1,31 +0,0 @@
package org.dynmap;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
/**
* Custom bukkit event, corresponding to the receiving of a web-chat message from a web UI user
*/
public class DynmapWebChatEvent extends Event implements Cancellable {
private String source;
private String name;
private String message;
private boolean cancelled;
public DynmapWebChatEvent(String source, String name, String message) {
super("org.dynmap.DynmapWebChatEvent");
this.source = source;
this.name = name;
this.message = message;
this.cancelled = false;
}
public boolean isCancelled() { return cancelled; }
public void setCancelled(boolean cancel) { cancelled = cancel; }
public String getSource() { return source; }
public String getName() { return name; }
public String getMessage() { return message; }
}
+37 -10
View File
@@ -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();
}
}
@@ -1,15 +1,16 @@
package org.dynmap;
import org.dynmap.Event.Listener;
import org.dynmap.web.handlers.ClientUpdateHandler;
import org.dynmap.web.handlers.SendMessageHandler;
import org.dynmap.servlet.ClientUpdateServlet;
import org.dynmap.servlet.SendMessageServlet;
import org.json.simple.JSONObject;
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);
plugin.addServlet("/up/world/*", new ClientUpdateServlet(plugin));
final Boolean allowwebchat = configuration.getBoolean("allowwebchat", false);
final Boolean hidewebchatip = configuration.getBoolean("hidewebchatip", false);
final Boolean trust_client_name = configuration.getBoolean("trustclientname", false);
@@ -23,34 +24,31 @@ public class InternalClientUpdateComponent extends ClientUpdateComponent {
s(t, "webchat-interval", webchatInterval);
}
});
plugin.webServer.handlers.put("/up/", new ClientUpdateHandler(plugin));
if (allowwebchat) {
SendMessageHandler messageHandler = new SendMessageHandler() {{
SendMessageServlet messageHandler = new SendMessageServlet() {{
maximumMessageInterval = (int)(webchatInterval * 1000);
spamMessage = "\""+spammessage+"\"";
hideip = hidewebchatip;
this.trustclientname = trust_client_name;
onMessageReceived.addListener(new Listener<SendMessageHandler.Message>() {
onMessageReceived.addListener(new Event.Listener<Message> () {
@Override
public void triggered(Message t) {
webChat(t.name, t.message);
}
});
}};
plugin.webServer.handlers.put("/up/sendmessage", messageHandler);
plugin.addServlet("/up/sendmessage", messageHandler);
}
}
protected void webChat(String name, String message) {
if(plugin.mapManager == null)
return;
// TODO: Change null to something meaningful.
plugin.mapManager.pushUpdate(new Client.ChatMessage("web", null, name, message, null));
Log.info(unescapeString(plugin.configuration.getString("webprefix", "\u00A72[WEB] ")) + name + ": " + unescapeString(plugin.configuration.getString("websuffix", "\u00A7f")) + message);
ChatEvent event = new ChatEvent("web", name, message);
ChatEvent event = new ChatEvent("web", name, message);
plugin.events.trigger("webchat", event);
}
}
@@ -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,10 +25,15 @@ 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;
private Charset cs_utf8 = Charset.forName("UTF-8");
public JsonFileClientUpdateComponent(final DynmapPlugin plugin, final ConfigurationNode configuration) {
@@ -37,10 +41,17 @@ 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() {
currentTimestamp = System.currentTimeMillis();
if(last_confighash != plugin.getConfigHashcode())
writeConfiguration();
writeUpdates();
if (allowwebchat) {
handleWebChat();
@@ -89,6 +100,7 @@ public class JsonFileClientUpdateComponent extends ClientUpdateComponent {
plugin.events.trigger("buildclientconfiguration", clientConfiguration);
outputFile = getStandaloneFile("dynmap_config.json");
outputTempFile = getStandaloneFile("dynmap_config.json.new");
last_confighash = plugin.getConfigHashcode();
int retrycnt = 0;
boolean done = false;
@@ -207,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);
File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More