Finished update to MCP 7.2, MC 1.3.2 pre.

This commit is contained in:
LexManos 2012-08-14 19:24:49 -07:00
parent 646a0b4fc4
commit eef3303dfe
12 changed files with 166 additions and 237 deletions

View File

@ -29,17 +29,18 @@
return True
def checkbins(self, side):
@@ -1027,6 +1033,9 @@
@@ -1027,6 +1033,10 @@
pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
pathlog = {CLIENT: self.clientrecomplog, SERVER: self.serverrecomplog}
+ if side == SERVER: #Disable server because FML recombines it into client
+ self.logger.info('Server side recompiling skipped, this is normal')
+ return
+
if not os.path.exists(pathbinlk[side]):
os.makedirs(pathbinlk[side])
@@ -1039,6 +1048,7 @@
@@ -1039,6 +1049,7 @@
all_files = True
append_pattern = False
pkglist = filterdirs(pathsrclk[side], '*.java', append_pattern=append_pattern, all_files=all_files)
@ -47,7 +48,7 @@
dirs = ' '.join(pkglist)
classpath = os.pathsep.join(cplk[side])
forkcmd = self.cmdrecomp.format(classpath=classpath, sourcepath=pathsrclk[side], outpath=pathbinlk[side],
@@ -1060,7 +1070,7 @@
@@ -1060,7 +1071,7 @@
raise
def startserver(self):
@ -56,7 +57,7 @@
classpath = [os.path.join('..', p) for p in classpath]
classpath = os.pathsep.join(classpath)
os.chdir(self.dirjars)
@@ -1068,7 +1078,7 @@
@@ -1068,7 +1079,7 @@
self.runmc(forkcmd)
def startclient(self):
@ -65,7 +66,7 @@
classpath = [os.path.join('..', p) for p in classpath]
classpath = os.pathsep.join(classpath)
natives = os.path.join('..', self.dirnatives)
@@ -1195,20 +1205,20 @@
@@ -1195,20 +1206,20 @@
with open(self.csvmethods, 'rb') as fh:
methodsreader = csv.DictReader(fh)
for row in methodsreader:
@ -89,7 +90,7 @@
names['params'][row['param']] = row['name']
regexps = {
@@ -1238,6 +1248,11 @@
@@ -1238,6 +1249,11 @@
# HINT: We pathwalk the sources
for path, _, filelist in os.walk(pathsrclk[side], followlinks=True):
@ -101,7 +102,7 @@
for cur_file in fnmatch.filter(filelist, '*.java'):
updatefile(os.path.normpath(os.path.join(path, cur_file)))
return True
@@ -1320,12 +1335,14 @@
@@ -1320,12 +1336,14 @@
pathsrclk = {CLIENT: self.srcclient, SERVER: self.srcserver}
strip_comments(pathsrclk[side])
@ -116,7 +117,7 @@
def process_javadoc(self, side):
"""Add CSV descriptions to methods and fields as javadoc"""
@@ -1334,6 +1351,21 @@
@@ -1334,6 +1352,21 @@
if not self.has_doc_csv:
self.logger.warning('!! javadoc disabled due to no csvs !!')
return False
@ -138,7 +139,7 @@
#HINT: We read the relevant CSVs
methodsreader = csv.DictReader(open(self.csvmethods, 'r'))
@@ -1342,13 +1374,13 @@
@@ -1342,13 +1375,13 @@
methods = {}
for row in methodsreader:
#HINT: Only include methods that have a non-empty description
@ -154,7 +155,7 @@
fields[row['searge']] = row['desc'].replace('*/', '* /')
regexps = {
@@ -1420,12 +1452,13 @@
@@ -1420,12 +1453,13 @@
# HINT: We create the list of source directories based on the list of packages
pkglist = filterdirs(pathsrclk[side], '*.java', append_pattern=True)
@ -169,7 +170,7 @@
if not reobf:
md5lk = {CLIENT: self.md5client, SERVER: self.md5server}
else:
@@ -1440,6 +1473,9 @@
@@ -1440,6 +1474,9 @@
class_path = ''
else:
class_path += '/'
@ -179,7 +180,7 @@
for class_file in fnmatch.filter(filelist, '*.class'):
class_name = class_path + os.path.splitext(class_file)[0]
bin_file = os.path.normpath(os.path.join(path, class_file))
@@ -1592,6 +1628,9 @@
@@ -1592,6 +1629,9 @@
sys.exit(1)
for entry in newfiles:
@ -189,7 +190,7 @@
if entry[3] == 'U':
self.logger.info('Retrieving file from server : %s', entry[0])
cur_file = os.path.normpath(entry[0])
@@ -1654,3 +1693,6 @@
@@ -1654,3 +1694,6 @@
except IOError:
self.logger.error('* File %s copy failed', in_class)

View File

@ -177,14 +177,18 @@ public class AccessTransformer implements IClassTransformer
{
for (FieldNode n : (List<FieldNode>) classNode.fields)
{
if (n.name.equals(m.name))
if (n.name.equals(m.name) || m.name.equals("*"))
{
n.access = getFixedAccess(n.access, m);
if (DEBUG)
{
System.out.println(String.format("Field: %s.%s %s -> %s", name, m.name, toBinary(m.oldAccess), toBinary(m.newAccess)));
System.out.println(String.format("Field: %s.%s %s -> %s", name, n.name, toBinary(m.oldAccess), toBinary(m.newAccess)));
}
if (!m.name.equals("*"))
{
break;
}
break;
}
}
}
@ -192,14 +196,18 @@ public class AccessTransformer implements IClassTransformer
{
for (MethodNode n : (List<MethodNode>) classNode.methods)
{
if (n.name.equals(m.name) && n.desc.equals(m.desc))
if ((n.name.equals(m.name) && n.desc.equals(m.desc)) || m.name.equals("*"))
{
n.access = getFixedAccess(n.access, m);
if (DEBUG)
{
System.out.println(String.format("Method: %s.%s%s %s -> %s", name, m.name, m.desc, toBinary(m.oldAccess), toBinary(m.newAccess)));
System.out.println(String.format("Method: %s.%s%s %s -> %s", name, n.name, n.desc, toBinary(m.oldAccess), toBinary(m.newAccess)));
}
if (!m.name.equals("*"))
{
break;
}
break;
}
}
}

View File

@ -1,201 +1,65 @@
#Main FML Access Transformer configuration file
# TileEntity addMapping
public ajh.a(Ljava/lang/Class;Ljava/lang/String;)V
public aji.a(Ljava/lang/Class;Ljava/lang/String;)V
# EntityList addMappings
public jq.a(Ljava/lang/Class;Ljava/lang/String;I)V
public jq.a(Ljava/lang/Class;Ljava/lang/String;III)V
public jr.a(Ljava/lang/Class;Ljava/lang/String;I)V
public jr.a(Ljava/lang/Class;Ljava/lang/String;III)V
# EntityList nameToClassMap and idToClassMap
public jq.b
public jq.d
public jr.b
public jr.d
# RenderManager renderers
public avx.o
public avy.o
# RenderBlocks - everything
public avf.A
public avf.B
public avf.C
public avf.D
public avf.E
public avf.F
public avf.G
public avf.H
public avf.I
public avf.J
public avf.K
public avf.L
public avf.M
public avf.N
public avf.S
public avf.T
public avf.U
public avf.V
public avf.W
public avf.X
public avf.Y
public avf.Z
public avf.a
public avf.aA
public avf.aB
public avf.aC
public avf.aD
public avf.aE
public avf.aF
public avf.aG
public avf.aH
public avf.aI
public avf.aJ
public avf.aK
public avf.aL
public avf.aM
public avf.aN
public avf.aO
public avf.aa
public avf.ab
public avf.ac
public avf.ad
public avf.ae
public avf.af
public avf.ag
public avf.ah
public avf.ai
public avf.aj
public avf.ak
public avf.al
public avf.am
public avf.an
public avf.ao
public avf.ap
public avf.aq
public avf.ar
public avf.as
public avf.at
public avf.au
public avf.av
public avf.aw
public avf.ax
public avf.ay
public avf.az
public avf.b
public avf.c
public avf.d
public avf.e
public avf.f
public avf.g
public avf.h
public avf.i
public avf.j
public avf.k
public avf.l
public avf.m
public avf.n
public avf.o
public avf.p
public avf.q
public avf.r
public avf.s
public avf.t
public avf.u
public avf.v
public avf.w
public avf.x
public avf.y
public avf.z
public avf.a()V
public avf.a(DDDDDDFD)V
public avf.a(IIII)I
public avf.a(IIILacn;)F
public avf.a(Laex;III)Z
public avf.a(Lafc;III)Z
public avf.a(Lafg;III)Z
public avf.a(Lafq;III)Z
public avf.a(Lafv;III)Z
public avf.a(Lafw;III)Z
public avf.a(Lahg;III)Z
public avf.a(Laie;III)Z
public avf.a(Laif;DDDDD)V
public avf.a(Laif;DDDI)V
public avf.a(Laif;IDDD)V
public avf.a(Laif;IDDDD)V
public avf.a(Laif;IF)V
public avf.a(Laif;IIDDDD)V
public avf.a(Laif;III)V
public avf.a(Laif;IIIFFF)Z
public avf.a(Laif;IIII)V
public avf.a(Laif;IIIZ)V
public avf.a(Laif;Luo;IIII)V
public avf.b(DDDDDDFD)V
public avf.b(I)Z
public avf.b(Laif;DDDI)V
public avf.b(Laif;IDDD)V
public avf.b(Laif;III)Z
public avf.b(Laif;IIIZ)Z
public avf.c(DDDDDDFD)V
public avf.c(Laif;DDDI)V
public avf.c(Laif;III)Z
public avf.c(Laif;IIIFFF)Z
public avf.c(Laif;IIIZ)Z
public avf.d(Laif;DDDI)V
public avf.d(Laif;III)V
public avf.d(Laif;IIIFFF)Z
public avf.e(Laif;DDDI)V
public avf.e(Laif;III)Z
public avf.f(Laif;DDDI)V
public avf.f(Laif;III)Z
public avf.g(Laif;III)Z
public avf.h(Laif;III)Z
public avf.i(Laif;III)Z
public avf.j(Laif;III)Z
public avf.k(Laif;III)Z
public avf.l(Laif;III)Z
public avf.m(Laif;III)Z
public avf.n(Laif;III)Z
public avf.o(Laif;III)Z
public avf.p(Laif;III)Z
public avf.q(Laif;III)Z
public avf.r(Laif;III)Z
public avf.s(Laif;III)Z
public avf.t(Laif;III)Z
public avf.u(Laif;III)Z
public avf.v(Laif;III)Z
public avf.w(Laif;III)Z
public avf.x(Laif;III)Z
public avg.*
public avg.*()
#RenderEngine - make TextureFX list public
public ave.h
public avf.h
public avf.k # texturePack
#RenderPlayer - make armorlist public and not final
public-f awq.j
public-f awr.j
#StringTranslate - make the current table and language public
public ak.b
public ak.d
# TileEntityRenderer - make the list of renderers public
public axr.m
public axs.m
# CraftingManager - make the add recipe methods public
public tc.a(Lri;[Ljava/lang/Object;)V
public tc.b(Lri;[Ljava/lang/Object;)V
public td.a(Lrj;[Ljava/lang/Object;)V
public td.b(Lrj;[Ljava/lang/Object;)V
# WeightedRandomItem - make the "probability" public
public ir.a
public is.a
# ItemStack - make itemId final
#public+f ri.c
#public+f rj.c
# StatBase - Make statName public, no server side getter
public ho.a
public hp.a
# NetLoginHandler make the "complete connection" callback public so I can reset it during FML negotiation
public gw.a(Lgw;Z)Z
public gx.a(Lgx;Z)Z
# NetLoginHandler userName field
public gw.h
public gx.h
# EntityPlayerMP getNextWindowId
public gt.bO()V
public gt.cq
public gu.bO()V
public gu.cq
# EntityAITaskEntry class -> public
public kw
public kx
# EntityAITasks taskList
public kv.a
public kw.a
# BlockChest isOcelotBlockingChest (a bounding box check actually)
public afd.n(Luo;III)Z
public afe.n(Lup;III)Z
# EntityLiving tasks
public jv.bg
public jw.bg
# EntityAIOcelotSit nearestSittableBlock and isblocksittable
protected lh.a(Luo;III)Z
protected lh.f()Z
protected li.a(Lup;III)Z
protected li.f()Z
# CallableMinecraftVersion - sanity check the MC version
public b
public b.<init>(La;)V # constructor
# RenderEngine
public ave.k # texturePack
# EntityAnimal
public mn.d # inLove
# RailLogic
public ahi
#ItemAxe
public rf.<init>(ILri;)V
#ItemPickaxe
public rq.<init>(ILri;)V
# WorldType
public va.<init>(ILjava/lang/String;)V
public va.<init>(ILjava/lang/String;I)V

View File

@ -2,11 +2,11 @@
# Only runs at runtime because it's not necessary at compile time
# has deobf and obf mappings so it runs OK in mcp
# entityplayer -> network/player
of cpw/mods/fml/common/network/Player
og cpw/mods/fml/common/network/Player
net.minecraft.src.EntityPlayer cpw/mods/fml/common/network/Player
# block -> blockproxy
aif cpw/mods/fml/common/registry/BlockProxy
aig cpw/mods/fml/common/registry/BlockProxy
net.minecraft.src.Block cpw/mods/fml/common/registry/BlockProxy
# item -> itemproxy
rg cpw/mods/fml/common/registry/ItemProxy
rh cpw/mods/fml/common/registry/ItemProxy
net.minecraft.src.Item cpw/mods/fml/common/registry/ItemProxy

View File

@ -22,8 +22,8 @@ Params = %(DirConf)s/params.csv
NewIds = %(DirConf)s/newids.csv
[SRGS]
ConfClient = %(DirConf)s/client.srg
ConfServer = %(DirConf)s/server.srg
ConfClient = %(DirConf)s/joined.srg
ConfServer = %(DirConf)s/joined.srg
Client = %(DirTemp)s/client_rg.srg
Server = %(DirTemp)s/server_rg.srg
DeobfClient = %(DirTemp)s/client_deobf.srg
@ -56,8 +56,8 @@ ServerDeobLog = %(DirLogs)s/server_deob.log
NullPkg = net/minecraft/src
[EXCEPTOR]
XClientCfg = %(DirConf)s/client.exc
XServerCfg = %(DirConf)s/server.exc
XClientCfg = %(DirConf)s/joined.exc
XServerCfg = %(DirConf)s/joined.exc
XClientOut = %(DirTemp)s/minecraft_exc.jar
XServerOut = %(DirTemp)s/minecraft_server_exc.jar
XClientLog = %(DirLogs)s/client_exc.log
@ -121,7 +121,7 @@ OutSRCServer = %(DirModSrc)s/minecraft_server
[MCP]
LogFile = %(DirLogs)s/mcp.log
LogFileErr = %(DirLogs)s/mcperr.log
UpdateUrl = http://mcp.ocean-labs.de/files/mcprolling_{version}/
UpdateUrl =
IgnoreUpdate = %(DirBin)s,%(DirLib)s,%(DirLogs)s,%(DirModSrc)s,%(DirReobf)s,%(DirSrc)s,%(DirTemp)s,%(DirEclipse)s/Client/bin,%(DirEclipse)s/Server/bin,%(DirJars)s/world,%(DirJars)s/saves,%(DirJars)s/resources
RGIndex = 80000
ParamIndex = 4000

View File

@ -1,5 +1,10 @@
import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import net.minecraft.client.Minecraft;
@ -9,8 +14,6 @@ public class Start
{
try
{
// set new minecraft data folder to prevent it from using the .minecraft folder
// this makes it a portable version
Field f = Minecraft.class.getDeclaredField("field_71463_am");
Field.setAccessible(new Field[] { f }, true);
f.set(null, new File("."));
@ -20,8 +23,57 @@ public class Start
e.printStackTrace();
return;
}
// start minecraft game application
Minecraft.main(args);
if (args.length != 2)
{
Minecraft.main(args);
}
else
{
try {
String parameters = "http://login.minecraft.net/?user=" + URLEncoder.encode(args[0], "UTF-8") +
"&password=" + URLEncoder.encode(args[1], "UTF-8") +
"&version=" + 13;
String result = openUrl(parameters);
if (result == null)
{
System.out.println("Can't connect to minecraft.net");
return;
}
if (!result.contains(":"))
{
System.out.println("Login Failed: " + result);
return;
}
//latestVersion, downloadTicket, userName, sessionId
String[] values = result.split(":");
Minecraft.main(new String[]{values[2].trim(), values[3].trim()});
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
private static String openUrl(String addr)
{
try {
URL url = new URL(addr);
java.io.InputStream is;
is = url.openConnection().getInputStream();
java.io.BufferedReader reader = new java.io.BufferedReader(new java.io.InputStreamReader(is));
String buf = "";
String line = null;
while((line = reader.readLine() ) != null)
{
buf += "\n" + line;
}
reader.close();
return buf;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

View File

@ -292,12 +292,12 @@ def runcmd(commands, command, echo=True):
if echo:
for line in output.splitlines():
self.logger.info(line)
commands.logger.info(line)
if process.returncode:
if not echo:
for line in output.splitlines():
self.logger.info(line)
commands.logger.info(line)
return False
return True
@ -614,7 +614,10 @@ def setup_mcp(fml_dir, mcp_dir, dont_gen_conf=True):
#update workspace
print 'Fixing MCP Workspace'
if not os.path.isdir(os.path.join(fml_dir, 'eclipse', 'Clean-Client')):
merge_tree(os.path.join(fml_dir, 'eclipse'), os.path.join(mcp_dir, 'eclipse'))
mcp_eclipse = os.path.join(mcp_dir, 'eclipse')
if os.path.isdir(mcp_eclipse):
shutil.rmtree(mcp_eclipse)
shutil.copytree(os.path.join(fml_dir, 'eclipse'), mcp_eclipse)
def normaliselines(in_filename):
in_filename = os.path.normpath(in_filename)

View File

@ -1,19 +1,19 @@
<fz
<fy
<gc
<gd
>akd
<ge
<gf
>aki
<ga
<gb
<gd
<ge
>ake
<gf
<gg
>um
>akj
<gb
<gc
<gh
>un
>uo
<eo
>aeg
>rs
>hl
>hz
>hy
>aeh
>rt
>hm
>ia
>hz

View File

@ -59,7 +59,7 @@
this.field_71304_b.func_76318_c("lights");
while (true)
@@ -1117,6 +1129,12 @@
@@ -1118,6 +1130,12 @@
@SideOnly(Side.SERVER)
public static void main(String[] p_main_0_)
{

View File

@ -7,15 +7,16 @@
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.io.File;
@@ -36,6 +37,7 @@
var1.start();
ConsoleLogManager.func_73699_a();
field_71306_a.info("Starting minecraft server version 1.3.1");
+ FMLCommonHandler.instance().onServerStart(this);
@@ -42,6 +43,8 @@
field_71306_a.warning("To start the server with more ram, launch it as \"java -Xmx1024M -Xms1024M -jar minecraft_server.jar\"");
}
if (Runtime.getRuntime().maxMemory() / 1024L / 1024L < 512L)
{
@@ -101,6 +103,7 @@
+ FMLCommonHandler.instance().onServerStart(this);
+
field_71306_a.info("Loading properties");
this.field_71340_o = new PropertyManager(new File("server.properties"));
@@ -101,6 +104,7 @@
field_71306_a.warning("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
}
@ -23,7 +24,7 @@
this.func_71210_a(new DedicatedPlayerList(this));
long var4 = System.nanoTime();
@@ -160,7 +163,7 @@
@@ -160,7 +164,7 @@
this.field_71339_n = new RConThreadMain(this);
this.field_71339_n.func_72602_a();
}

View File

@ -9,7 +9,7 @@
import net.minecraft.server.MinecraftServer;
public class NetServerHandler extends NetHandler
@@ -956,6 +958,11 @@
@@ -957,6 +959,11 @@
public void func_72501_a(Packet250CustomPayload p_72501_1_)
{
@ -21,7 +21,7 @@
DataInputStream var2;
ItemStack var3;
ItemStack var4;
@@ -1028,4 +1035,10 @@
@@ -1029,4 +1036,10 @@
}
}
}

View File

@ -28,7 +28,7 @@
+
+ protected BiomeGenBase[] biomesForWorldType;
private WorldType(int p_i3737_1_, String p_i3737_2_)
public WorldType(int p_i3737_1_, String p_i3737_2_)
{
@@ -26,6 +38,14 @@
this.field_77134_g = p_i3738_3_;