Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
f7994cd
Updated for server v.0.2.8
Dec 4, 2010
ef3dd50
Added rankreq and rankreward functionality
durron597 Dec 6, 2010
a17c68f
Added sql script with changes for 0.7 and 0.7.1
durron597 Dec 7, 2010
8fb9f64
Added iConomy interface
durron597 Dec 7, 2010
6808f03
Added Readme.txt
durron597 Dec 7, 2010
1e7d4bd
Edited Readme
durron597 Dec 7, 2010
d5e6d0b
Added support for flatfile iConomy
durron597 Dec 9, 2010
78efb1a
First version with support for HSQLDB
mmichaa Dec 15, 2010
117b7f3
Fixed error with itemInHand
mmichaa Dec 15, 2010
f8edaf3
Added SQL-file for SQLite
Dec 15, 2010
a402545
Added build.xml for easy building with ant
mmichaa Dec 17, 2010
e456d6f
Changed URL for downloads
mmichaa Dec 17, 2010
b6add0c
Added ant targets: lib:install, dist:sqlite3 and dist:hsqldb
mmichaa Dec 17, 2010
ce94742
The getConnection() method will return a new connection on every call
mmichaa Dec 19, 2010
267dad5
Fixed bug with /qadmin (no arguments) throwing a NullPointerException
durron597 Dec 23, 2010
38aedb4
Updated for Beta
durron597 Dec 23, 2010
e9cecd7
Moved all files from root to src/
durron597 Dec 23, 2010
df02954
Moved FlatFileDataSource to src/
durron597 Dec 23, 2010
bf65bb6
Merge branch 'master' of https://github.com/THExSYSTEM/CraftizensPlug…
durron597 Dec 23, 2010
13774e5
Added flatfile-data-enabled boolean to properties file
durron597 Dec 23, 2010
973e964
Updated version number to 0.8.0, Updated readme
durron597 Dec 23, 2010
b208582
Fixed changes to inventory API
durron597 Dec 23, 2010
0e38c34
Added /npc list, usage instructions for /npc noargs
durron597 Dec 24, 2010
f60a254
Fixed a bug with /npc noargs
durron597 Dec 24, 2010
5a5f5ad
Fixed a bug where /rankreward is not set
durron597 Dec 24, 2010
6ca343a
Fixed bug with completed quests throwing a database error
Dec 29, 2010
339aae6
Fixed bug where npe is thrown when an npc has no quests
Dec 29, 2010
6040059
Changed /npc to /craftnpc so as not to step on the npcs plugin
Dec 29, 2010
d3201d2
Added help text for commands. Cleaned up iConomy loading
Dec 29, 2010
d3de179
Added option where you could choose to have rankreward ADD a group
Dec 29, 2010
635c065
Added config option for interacting with anything
Dec 29, 2010
1c85672
Flatfile now checks quest prereqs
Dec 29, 2010
1fef15a
Changed version number
durron597 Dec 29, 2010
5fc7ed8
removed unnecessary import
durron597 Dec 29, 2010
6d2ae19
Added updatr support
durron597 Dec 30, 2010
dcb298e
Changed default colors so they work better.
durron597 Dec 30, 2010
f57d22f
Prevent NPE when quests don't have a valid startnpc
durron597 Dec 30, 2010
85ee890
Fixed a few user messages (including /npc usage instructions)
durron597 Dec 30, 2010
7b317ba
Changed version to 0.8.2
durron597 Dec 30, 2010
94e1296
Added Craftizens.jar to git so people can download from there if they
durron597 Dec 30, 2010
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.classpath
.project
bin
lib
104 changes: 0 additions & 104 deletions Craftizens.java

This file was deleted.

5 changes: 5 additions & 0 deletions Craftizens.updatr
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
name = Craftizens
version = 0.8.2
url = www.stwing.upenn.edu/~martinja/minecraft/Craftizens.updatr
file = www.stwing.upenn.edu/~martinja/minecraft/Craftizens.jar
notes = Now with Updatr support!
10 changes: 10 additions & 0 deletions README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
0.7.0 - Added rankreq and rankreward functionality

0.7.1 - Added iConomy hook; Also I added the .sql script to the commit

0.7.2 - Added support for JDBC; Currently HyperSQL and SQLite

0.8.0 - Bugfixes, updated for Beta

Find latest compiled JAR here:
http://www.stwing.upenn.edu/~martinja/minecraft/
118 changes: 118 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." name="Craftizens-Plugin" default="dist">
<property name="projectName" value="Craftizens"/>
<property name="projectId" value="craftizens"/>
<property name="version" value="0.8.1"/>
<property name="src" location="src"/>
<property name="lib" location="lib"/>
<property name="bin" location="bin"/>
<property name="dist" location="dist"/>
<property name="manifestMf" value="MANIFEST.MF"/>
<property name="craftizensJar" value="${projectName}.jar"/>
<property name="sqliteJar" value="sqlitejdbc.jar"/>
<property name="sqliteClassPath" value="../${projectId}/lib/${sqliteJar}"/>
<property name="hsqldbJar" value="hsqldb.jar"/>
<property name="hsqltoolJar" value="hsqltool.jar"/>
<property name="hsqldbClassPath" value="../${projectId}/lib/${hsqldbJar}"/>
<property name="minecraftServerJar" value="Minecraft_Server.jar"/>
<property name="minecraftModJar" value="Minecraft_Mod.jar"/>

<target name="lib:install">
<property name="minecraftModZip" value="Minecraft_Mod.zip"/>
<property name="hsqldbZip" value="hsqldb-2.x.zip"/>
<property name="minecraftServerUrl" value="http://minecraft.net/download/minecraft_server.jar"/>
<property name="minecraftModUrl" value="http://hey0.net/get.php?dl=serverbeta"/>
<property name="hsqldbUrl" value="http://sourceforge.net/projects/hsqldb/files/alpha_beta/hsqldb-2.0.1-rc3.zip/download"/>
<property name="sqlitejdbcUrl" value="http://files.zentus.com/sqlitejdbc/sqlitejdbc-v056.jar"/>
<mkdir dir="${lib}"/>
<get src="${minecraftServerUrl}" dest="${lib}/${minecraftServerJar}"/>
<get src="${minecraftModUrl}" dest="${lib}/${minecraftModZip}"/>
<get src="${hsqldbUrl}" dest="${lib}/${hsqldbZip}"/>
<get src="${sqlitejdbcUrl}" dest="${lib}/${sqliteJar}"/>
<unzip src="${lib}/${minecraftModZip}" dest="${lib}">
<patternset>
<include name="bin/${minecraftModJar}"/>
</patternset>
<mapper type="flatten"/>
</unzip>
<unzip src="${lib}/${hsqldbZip}" dest="${lib}">
<patternset>
<include name="hsqldb-2.*/hsqldb/lib/hsqldb.jar"/>
<include name="hsqldb-2.*/hsqldb/lib/sqltool.jar"/>
</patternset>
<mapper type="flatten"/>
</unzip>
<move file="${lib}/sqltool.jar" tofile="${lib}/${hsqltoolJar}"/>
<delete file="${lib}/${minecraftModZip}"/>
<delete file="${lib}/${hsqldbZip}"/>
</target>

<target name="clean">
<delete dir="${bin}"/>
<delete dir="${dist}"/>
</target>

<target name="compile" depends="clean">
<mkdir dir="${bin}"/>
<javac srcdir="${src}" includes="*.java" destdir="${bin}">
<classpath>
<pathelement location="${lib}/${minecraftServerJar}"/>
<pathelement location="${lib}/${minecraftModJar}"/>
<pathelement location="${lib}/${sqliteJar}"/>
<pathelement location="${lib}/${hsqldbJar}"/>
</classpath>
</javac>
</target>

<target name="mainfest">
<manifest file="${bin}/${manifestMf}">
<attribute name="Manifest-Version" value="1.0"/>
<attribute name="Project" value="${projectName}"/>
<attribute name="Version" value="${version}"/>
<attribute name="Class-Path" value="${sqliteClassPath} ${hsqldbClassPath}"/>
</manifest>
</target>

<target name="dist" depends="compile,mainfest">
<mkdir dir="${dist}"/>
<mkdir dir="${dist}/${projectId}"/>
<mkdir dir="${dist}/${projectId}/lib"/>
<mkdir dir="${dist}/plugins"/>
<jar destfile="${dist}/plugins/${craftizensJar}" manifest="${bin}/${manifestMf}" includes="*.class" basedir="${bin}"/>
</target>

<target name="sqlite3">
<property name="sqlite3-bin" location="/usr/bin/sqlite3"/>
<property name="sqlite3-db" value="sqlite3.db"/>
<copy file="${lib}/${sqliteJar}" tofile="${dist}/${projectId}/lib/${sqliteJar}"/>
<exec executable="${sqlite3-bin}">
<arg value="-init"/>
<arg value="${projectId}.sqlite3.sql"/>
<arg value="${dist}/${projectId}/${sqlite3-db}"/>
</exec>
<propertyfile file="${dist}/${projectId}.properties">
<entry key="data-source-driver-name" value="org.sqlite.JDBC"/>
<entry key="data-source-connection-url" value="jdbc:sqlite:${projectId}/${sqlite3-db}"/>
<entry key="data-source-username" value=""/>
<entry key="data-source-password" value=""/>
</propertyfile>
</target>

<target name="hsqldb">
<property name="hsqldbName" value="hsql.db"/>
<copy file="${lib}/${hsqldbJar}" tofile="${dist}/${projectId}/lib/${hsqldbJar}"/>
<java jar="${lib}/${hsqltoolJar}" fork="true">
<arg value="--inlineRc=url=jdbc:hsqldb:file:${dist}/${projectId}/${hsqldbName};shutdown=true,user=${projectId},password="/>
<arg value="${projectId}.hysql.sql"/>
</java>
<propertyfile file="${dist}/${projectId}.properties">
<entry key="data-source-driver-name" value="org.hsqldb.jdbc.JDBCDriver"/>
<entry key="data-source-connection-url" value="jdbc:hsqldb:file:${projectId}/${hsqldbName};ifexists=true"/>
<entry key="data-source-username" value="${projectId}"/>
<entry key="data-source-password" value=""/>
</propertyfile>
</target>

<target name="dist:sqlite3" depends="dist,sqlite3"/>
<target name="dist:hsqldb" depends="dist,hsqldb"/>
</project>
67 changes: 67 additions & 0 deletions craftizens.hysql.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
CREATE TABLE craftizens (
npc_id VARCHAR(12) NOT NULL,
npc_name VARCHAR(30)NOT NULL,
posx DOUBLE NOT NULL,
posy DOUBLE NOT NULL,
posz DOUBLE NOT NULL,
rotation FLOAT NOT NULL,
pitch FLOAT NOT NULL,
PRIMARY KEY (npc_id)
);

CREATE TABLE quests (
id VARCHAR(12) NOT NULL,
quest_name VARCHAR(512) NOT NULL,
start_npc VARCHAR(12) NOT NULL,
end_npc VARCHAR(12) NOT NULL,
items_provided VARCHAR(512) DEFAULT NULL,
rewards VARCHAR(512) DEFAULT NULL,
quest_desc VARCHAR(256) NOT NULL,
quest_type VARCHAR(10) NOT NULL,
prereq VARCHAR(12) DEFAULT NULL,
location VARCHAR(512) DEFAULT NULL,
data VARCHAR(512) DEFAULT NULL,
PRIMARY KEY (id)
);

CREATE TABLE quests_active (
player_name VARCHAR(25) NOT NULL,
quest_id VARCHAR(12) NOT NULL,
progress VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (player_name,quest_id)
);

CREATE TABLE quests_completed (
player_name VARCHAR(25) NOT NULL,
quest_id VARCHAR(12) NOT NULL,
date_completed TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
PRIMARY KEY (player_name,quest_id)
);

/* v0.2 update */

ALTER TABLE craftizens ADD COLUMN item_in_hand INT DEFAULT 0 NOT NULL;

/* v0.5 update */

ALTER TABLE quests ADD COLUMN completion_text VARCHAR(512) DEFAULT NULL;

CREATE TABLE craftizens_dialog (
npc_id VARCHAR(12) NOT NULL,
dialog_id VARCHAR(12) NOT NULL,
dialog_text VARCHAR(512) NOT NULL,
PRIMARY KEY (npc_id,dialog_id)
);

/* v0.6 update */

ALTER TABLE craftizens ADD COLUMN route_type VARCHAR(8) DEFAULT NULL;
ALTER TABLE craftizens ADD COLUMN route VARCHAR(512) DEFAULT NULL;

/* v0.7 update */
ALTER TABLE quests ADD COLUMN rankreq VARCHAR(12) DEFAULT NULL BEFORE location;
ALTER TABLE quests ADD COLUMN rankreward VARCHAR(12) DEFAULT NULL BEFORE location;

/* v0.7.1 update */
ALTER TABLE quests ADD COLUMN cost VARCHAR(12) DEFAULT '0' BEFORE location;
ALTER TABLE quests ADD COLUMN prize VARCHAR(12) DEFAULT '0' BEFORE location;
67 changes: 67 additions & 0 deletions craftizens.mysql.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
CREATE TABLE `craftizens` (
`npc_id` VARCHAR(12) NOT NULL,
`npc_name` VARCHAR(30) NOT NULL,
`posx` DOUBLE NOT NULL,
`posy` DOUBLE NOT NULL,
`posz` DOUBLE NOT NULL,
`rotation` FLOAT NOT NULL,
`pitch` FLOAT NOT NULL,
PRIMARY KEY (`npc_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `quests` (
`id` VARCHAR(12) NOT NULL,
`quest_name` TEXT NOT NULL,
`start_npc` VARCHAR(12) NOT NULL,
`end_npc` VARCHAR(12) NOT NULL,
`items_provided` TEXT DEFAULT NULL,
`rewards` TEXT DEFAULT NULL,
`quest_desc` MEDIUMTEXT NOT NULL,
`quest_type` VARCHAR(10) NOT NULL,
`prereq` VARCHAR(12) DEFAULT NULL,
`location` TEXT DEFAULT NULL,
`data` TEXT DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `quests_active` (
`player_name` VARCHAR(25) NOT NULL,
`quest_id` VARCHAR(12) NOT NULL,
`progress` VARCHAR(50) DEFAULT NULL,
PRIMARY KEY (`player_name`,`quest_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE `quests_completed` (
`player_name` VARCHAR(25) NOT NULL,
`quest_id` VARCHAR(12) NOT NULL,
`date_completed` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`player_name`,`quest_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- v0.2 update

ALTER TABLE `craftizens` ADD COLUMN `item_in_hand` INT NOT NULL DEFAULT 0 AFTER `pitch`;

-- v0.5 update

ALTER TABLE `quests` ADD COLUMN `completion_text` TEXT DEFAULT NULL AFTER `data`;

CREATE TABLE `craftizens_dialog` (
`npc_id` VARCHAR(12) NOT NULL,
`dialog_id` VARCHAR(12) NOT NULL,
`dialog_text` TEXT NOT NULL,
PRIMARY KEY (`npc_id`,`dialog_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- v0.6 update

ALTER TABLE `craftizens` ADD COLUMN `route_type` VARCHAR(8) DEFAULT NULL AFTER `item_in_hand`;
ALTER TABLE `craftizens` ADD COLUMN `route` TEXT DEFAULT NULL AFTER `route_type`;

-- v0.7 update
ALTER TABLE `quests` ADD COLUMN `rankreq` VARCHAR(12) DEFAULT NULL AFTER `prereq`;
ALTER TABLE `quests` ADD COLUMN `rankreward` VARCHAR(12) DEFAULT NULL AFTER `rankreq`;

-- v0.7.1 update
ALTER TABLE `quests` ADD COLUMN `cost` VARCHAR(12) DEFAULT '0' AFTER `rankreward`;
ALTER TABLE `quests` ADD COLUMN `prize` VARCHAR(12) DEFAULT '0' AFTER `cost`;
Loading