Index: applications/editors/josm/plugins/no_more_mapping/build.xml
===================================================================
--- applications/editors/josm/plugins/no_more_mapping/build.xml	(revision 28869)
+++ applications/editors/josm/plugins/no_more_mapping/build.xml	(revision 28869)
@@ -0,0 +1,87 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<!--
+** This is a template build file for the PBF plugin.
+**
+** Maintaining versions
+** ====================
+** see README.template
+**
+** Usage
+** =====
+** To build it run
+**
+**    > ant  dist
+**
+** To install the generated plugin locally (in you default plugin directory) run
+**
+**    > ant  install
+**
+** The generated plugin jar is not automatically available in JOSMs plugin configuration
+** dialog. You have to check it in first.
+**
+** Use the ant target 'publish' to check in the plugin and make it available to other
+** JOSM users:
+**    set the properties commit.message and plugin.main.version
+** and run
+**    > ant  publish
+**
+**
+-->
+<project name="no_more_mapping" default="dist" basedir=".">
+
+    <!-- enter the SVN commit message -->
+    <property name="commit.message" value="Commit message"/>
+    <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
+    <property name="plugin.main.version" value="4000"/>
+
+    <!--
+    **********************************************************
+    ** include targets that all plugins have in common
+    **********************************************************
+    -->
+    <import file="../build-common.xml"/>
+
+    <!--
+    **********************************************************
+    ** dist - creates the plugin jar
+    **********************************************************
+    -->
+    <target name="dist" depends="compile,revision">
+        <echo message="creating ${ant.project.name}.jar ... "/>
+        <copy todir="${plugin.build.dir}/resources">
+            <fileset dir="resources"/>
+        </copy>
+        <copy todir="${plugin.build.dir}/images">
+            <fileset dir="images"/>
+        </copy>
+        <copy todir="${plugin.build.dir}/data">
+            <fileset dir="data"/>
+        </copy>
+        <copy todir="${plugin.build.dir}">
+            <fileset dir=".">
+                <include name="README"/>
+                <include name="gpl-3.0.txt"/>
+            </fileset>
+        </copy>
+        <jar destfile="${plugin.jar}" basedir="${plugin.build.dir}">
+            <!--
+            ************************************************
+            ** configure these properties. Most of them will be copied to the plugins
+            ** manifest file. Property values will also show up in the list available
+            ** plugins: http://josm.openstreetmap.de/wiki/Plugins.
+            **
+            ************************************************
+            -->
+            <manifest>
+                <attribute name="Author" value="Zverik"/>
+                <attribute name="Plugin-Class" value="nomore.NoMorePlugin"/>
+                <attribute name="Plugin-Date" value="${version.entry.commit.date}"/>
+                <attribute name="Plugin-Description" value="Disallow using JOSM forever (WARNING: this plugin prevents JOSM from loading and is hard to rid of)"/>
+                <attribute name="ru_Plugin-Description" value="Запретить JOSM навсегда (ВНИМАНИЕ: этот модуль не даёт JOSM загрузиться, и его сложно отключить)"/>
+                <attribute name="Plugin-Icon" value="images/nomore.png"/>
+                <attribute name="Plugin-Mainversion" value="${plugin.main.version}"/>
+                <attribute name="Plugin-Version" value="${version.entry.commit.revision}"/>
+            </manifest>
+        </jar>
+    </target>
+</project>
Index: applications/editors/josm/plugins/no_more_mapping/src/nomore/NoMorePlugin.java
===================================================================
--- applications/editors/josm/plugins/no_more_mapping/src/nomore/NoMorePlugin.java	(revision 28869)
+++ applications/editors/josm/plugins/no_more_mapping/src/nomore/NoMorePlugin.java	(revision 28869)
@@ -0,0 +1,53 @@
+package nomore;
+
+import java.util.Date;
+import javax.swing.JOptionPane;
+import org.openstreetmap.josm.Main;
+import org.openstreetmap.josm.plugins.Plugin;
+import org.openstreetmap.josm.plugins.PluginInformation;
+import static org.openstreetmap.josm.tools.I18n.tr;
+
+Remove this garbage line if you really want to compile the plugin. 
+
+/**
+ * Prevent JOSM from loading.
+ * 
+ * @author zverik
+ */
+public class NoMorePlugin extends Plugin {
+
+    public NoMorePlugin(PluginInformation info) {
+        super(info);
+        long startDate = Main.pref.getLong("nomoremapping.date", 0);
+        long lastHash = Math.max(Main.pref.getLong("pluginmanager.lastupdate", 0) / 1000,
+                Math.max(Main.pref.getLong("cache.motd.html", 0),
+                Main.pref.getLong("cache.bing.attribution.xml", 0))) + Main.pref.get("osm-download.bounds", "").hashCode();
+        boolean sameHash = Main.pref.getLong("nomoremapping.hash", 0) == lastHash;
+        long today = new Date().getTime() / 1000;
+        if( startDate == 0 || !sameHash ) {
+            startDate = today;
+            Main.pref.putLong("nomoremapping.date", startDate);
+            Main.pref.putLong("nomoremapping.hash", lastHash);
+        }
+        long days = Math.max(today - startDate, 0) / (60*60*24);
+        String message;
+        if( days == 0 )
+            message = "Make it one!";
+        else if( days < 7 )
+            message = "Keep going!";
+        else if( days < 31 )
+            message = "You're good. Keep on!";
+        else
+            message = "You don't use Potlach instead, do you?";
+        String intro = tr("Days without mapping: {0}.", days);
+        String prefs;
+        try {
+             prefs = Main.pref.getPreferenceFile().getCanonicalPath();
+        } catch( Exception e ) {
+            prefs = Main.pref.getPreferenceFile().getAbsolutePath();
+        }
+        String howto = days > 0 ? "" : "\n\n" + tr("(To miserably continue mapping, edit out no_more_mapping\nfrom {0})", prefs);
+        JOptionPane.showMessageDialog(Main.parent, intro + " " + message + howto, "No More Mapping", JOptionPane.INFORMATION_MESSAGE);
+        System.exit(0);
+    }
+}
