Compare commits

..
1 Commits
Author SHA1 Message Date
Space Toad 03267f3a9d tagged 1.0.0 2011-07-31 10:05:41 +00:00
16 changed files with 162 additions and 364 deletions

No files matched your search

@@ -28,12 +28,18 @@ public class Configuration {
private boolean configBlocks[] = null;
public static final int GENERAL_PROPERTY = 0;
public static final int BLOCK_PROPERTY = 1;
public static final int ITEM_PROPERTY = 2;
public enum PropertyKind {
General, Block, Item
}
File file;
public static class Property {
public String name;
public String value;
public String comment;
}
public TreeMap<String, Property> blockProperties = new TreeMap<String, Property>();
public TreeMap<String, Property> itemProperties = new TreeMap<String, Property>();
public TreeMap<String, Property> generalProperties = new TreeMap<String, Property>();
@@ -61,8 +67,8 @@ public class Configuration {
}
if (blockProperties.containsKey(key)) {
Property property = getOrCreateIntProperty(key,
Configuration.BLOCK_PROPERTY, defaultId);
Property property = getOrCreateIntProperty(key, PropertyKind.Block,
defaultId);
configBlocks[Integer.parseInt(property.value)] = true;
return property;
} else {
@@ -91,7 +97,7 @@ public class Configuration {
}
}
public Property getOrCreateIntProperty(String key, int kind,
public Property getOrCreateIntProperty(String key, PropertyKind kind,
int defaultValue) {
Property prop = getOrCreateProperty(key, kind,
Integer.toString(defaultValue));
@@ -106,7 +112,7 @@ public class Configuration {
}
}
public Property getOrCreateBooleanProperty(String key, int kind,
public Property getOrCreateBooleanProperty(String key, PropertyKind kind,
boolean defaultValue) {
Property prop = getOrCreateProperty(key, kind,
Boolean.toString(defaultValue));
@@ -120,18 +126,18 @@ public class Configuration {
}
}
public Property getOrCreateProperty(String key, int kind,
public Property getOrCreateProperty(String key, PropertyKind kind,
String defaultValue) {
TreeMap<String, Property> source = null;
switch (kind) {
case GENERAL_PROPERTY:
case General:
source = generalProperties;
break;
case BLOCK_PROPERTY:
case Block:
source = blockProperties;
break;
case ITEM_PROPERTY:
case Item:
source = itemProperties;
break;
}
@@ -0,0 +1,21 @@
/**
* This software is provided under the terms of the Minecraft Forge Public
* License v1.0.
*/
package net.minecraft.src.forge;
import net.minecraft.src.BiomeGenBase;
import net.minecraft.src.World;
public interface IBiomePopulator {
/**
* This is called for each chunk, after the rest of the generation, and
* allow contributers to add additional blocks in the world.
*
* @see MinecraftForge#registerBiomePopulate(IBiomePopulator)
*/
public void populate(World world, BiomeGenBase biomegenbase, int x, int z);
}
@@ -1,52 +0,0 @@
/**
* This software is provided under the terms of the Minecraft Forge Public
* License v1.0.
*/
package net.minecraft.src.forge;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.World;
/**
* This interface provides access to a number of secondary block properties through providing
* overrides to methods within world.class.
*/
public interface IBlockSecondaryProperties
{
/**
* Return true if this block should be treated as a normal cube by game logic
* (this is independant of rendering), false otherwise. This allows for things like secondary
* blocks (torches, rails, redstone dust, etc.) being attached to the surface of
* the block regardless of whether it is opaque, or posesses other rendering properties that
* would not normally make this possible.
*/
public boolean isBlockNormalCube( World world, int i, int j, int k );
/**
* Return true if this block can be replaced by another by the player, false otherwise. This provides
* a means of allowing blocks to not be considered when the player attempts to place another within
* their bounds, in the same way that water, lava, fire, and some other blocks behave within the game.
* Provides an override to the coresponding section in canBlockBePlacedAt() in world.class
*/
public boolean isBlockReplaceable( World world, int i, int j, int k );
/**
* Return true if this block should set fire and deal fire damage to entities coming into contact with
* it, false otherwise. Provides an override to the related test within isBoundingBoxBurning() within
* world.class
*/
public boolean isBlockBurning( World world, int i, int j, int k );
/**
* Return true if this block should be treated as an air block by the rest of the code, false
* otherwise. This method is primarily useful for creating pure logic-blocks that will be invisible
* to the player and otherwise interact as air would.
* Provides an override to isAirBlock() within world.class
*/
public boolean isAirBlock( World world, int i, int j, int k );
}
@@ -17,10 +17,8 @@ import net.minecraft.src.IBlockAccess;
public interface IConnectRedstone {
/**
* When this returns false, the block at location i, j, k cannot make
* a redstone connection in the direction given in parameter, otherwise
* it can. Use to control which sides are inputs and outputs for redstone
* wires.
* When this returns false, the block at location i, j, k cannot provide
* redstone power to the direction given in parameter, otherwise it can.
*/
public boolean canConnectRedstone(IBlockAccess iba, int i, int j, int k,
int dir);
@@ -15,7 +15,7 @@ public interface IHarvestHandler {
* the given block, false if this handler does not know of any particular
* harvesting. Other rules may activate the harvesting outside of this
* handler. This is typically used to add e.g. blocks only extracted by
* diamond pickaxe
* diamond pixaxe
*
* @see MinecraftForge#registerHarvestHandler(IHarvestHandler)
*/
@@ -5,13 +5,6 @@
package net.minecraft.src.forge;
/** This interface is to be implemented by a Block class. Allows a block
* type to perform rendering in both render passes, in case some parts of the
* block are solid and others are transparent.
*/
public interface IMultipassRender {
/** Returns true when the block has things to render in this render
* pass.
*/
public boolean canRenderInPass(int n);
}
@@ -18,8 +18,8 @@ public interface IOverrideReplace {
/**
* Return true if this block has to take control over replacement, for
* the intended replacement given by the parameter bid. If false, then
* the block replacement will be prevented.
* the intended replacement given by the parameter bid. If true, then
* the actual replacement is supposed to have occured in the block.
*/
public boolean canReplaceBlock(World world, int i, int j, int k, int bid);
@@ -17,6 +17,7 @@ import net.minecraft.src.World;
public class MinecraftForge {
private static LinkedList<IBucketHandler> bucketHandlers = new LinkedList<IBucketHandler>();
private static LinkedList<IBiomePopulator> biomePopulators = new LinkedList<IBiomePopulator>();
private static LinkedList<IHarvestHandler> harvestHandlers = new LinkedList<IHarvestHandler>();
/**
@@ -25,6 +26,13 @@ public class MinecraftForge {
public static void registerCustomBucketHander(IBucketHandler handler) {
bucketHandlers.add(handler);
}
/**
* Registers a new biome contributer.
*/
public static void registerBiomePopulate(IBiomePopulator populator) {
biomePopulators.add(populator);
}
/**
* Registers a new harvest handler.
@@ -48,6 +56,16 @@ public class MinecraftForge {
return null;
}
/**
* This is not supposed to be called outside of Minecraft internals.
*/
public static void populateBiome(World world, BiomeGenBase biomegenbase,
int x, int z) {
for (IBiomePopulator populator : biomePopulators) {
populator.populate(world, biomegenbase, x, z);
}
}
/**
* This is not supposed to be called outside of Minecraft internals.
*/
@@ -62,10 +80,10 @@ public class MinecraftForge {
}
/**
* Add a block to the list of blocks to which the pickaxe is know to be
* Add a block to the list of blocks to which the pixaxe is know to be
* effective.
*/
public static void addPickaxeBlockEffectiveAgainst (Block block) {
public static void addPixaxeBlockEffectiveAgainst (Block block) {
((ItemTool) Item.pickaxeWood).addBlockEffectiveAgainst(block);
((ItemTool) Item.pickaxeStone).addBlockEffectiveAgainst(block);
((ItemTool) Item.pickaxeSteel).addBlockEffectiveAgainst(block);
@@ -1,12 +0,0 @@
/**
* This software is provided under the terms of the Minecraft Forge Public
* License v1.0.
*/
package net.minecraft.src.forge;
public class Property {
public String name;
public String value;
public String comment;
}
-10
View File
@@ -1,10 +0,0 @@
*** HOW TO INSTALL ***
The forge directory should have been uncompacted right under your MCP root
directory.
You should a a fresh minecraft and minecraft_server.jar freshly decompiled
with ModLoader and ModLoaderMP.
Just run the script install.bat. It will copy the Minecraft Forge source on your
src directory, and modify the Minecraft source files.
-8
View File
@@ -1,8 +0,0 @@
set HOME=%CD%
set MCP=%HOME%\..
xcopy /Y /E src\* ..\src
cd %MCP%\src
%MCP%\runtime\bin\python\python_mcp %HOME%\lfcr.py %HOME%\minecraft.patch %HOME%\minecraft-win.patch
%MCP%\runtime\bin\applydiff.exe -uf -p2 < %HOME%\minecraft-win.patch
pause
-8
View File
@@ -1,8 +0,0 @@
#! /usr/bin/env python
import sys, re, os
data = open(sys.argv[1], "rb").read()
newdata = re.sub("\r?\n", "\r\n", data)
f = open(sys.argv[2], "wb")
f.write(newdata)
f.close()
+86 -226
View File
@@ -1,6 +1,6 @@
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockRedstoneWire.java ../src_work/minecraft/net/minecraft/src/BlockRedstoneWire.java
--- ../src_base/minecraft/net/minecraft/src/BlockRedstoneWire.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/BlockRedstoneWire.java 2011-08-02 16:07:39.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/BlockRedstoneWire.java 2011-07-29 23:21:33.781992000 +0200
+++ ../src_work/minecraft/net/minecraft/src/BlockRedstoneWire.java 2011-07-30 08:23:20.966701700 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -21,8 +21,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/BlockReds
{
return true;
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Chunk.java ../src_work/minecraft/net/minecraft/src/Chunk.java
--- ../src_base/minecraft/net/minecraft/src/Chunk.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/Chunk.java 2011-08-02 16:07:39.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/Chunk.java 2011-07-29 23:21:33.862997000 +0200
+++ ../src_work/minecraft/net/minecraft/src/Chunk.java 2011-07-30 08:28:53.466719600 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -59,9 +59,30 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Chunk.jav
blocks[i << 11 | k << 7 | j] = (byte)(byte0 & 0xff);
if(j1 != 0)
{
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ChunkProviderGenerate.java ../src_work/minecraft/net/minecraft/src/ChunkProviderGenerate.java
--- ../src_base/minecraft/net/minecraft/src/ChunkProviderGenerate.java 2011-07-29 23:21:33.906999000 +0200
+++ ../src_work/minecraft/net/minecraft/src/ChunkProviderGenerate.java 2011-07-30 08:15:01.684144300 +0200
@@ -6,6 +6,8 @@
import java.util.Random;
+import net.minecraft.src.forge.MinecraftForge;
+
// Referenced classes of package net.minecraft.src:
// IChunkProvider, MapGenCaves, NoiseGeneratorOctaves, Block,
// BiomeGenBase, Chunk, World, WorldChunkManager,
@@ -632,6 +634,8 @@
int i25 = l + rand.nextInt(16) + 8;
(new WorldGenLiquids(Block.lavaMoving.blockID)).generate(worldObj, rand, i22, l23, i25);
}
+
+ MinecraftForge.populateBiome(worldObj, biomegenbase, k, l);
generatedTemperatures = worldObj.getWorldChunkManager().getTemperatures(generatedTemperatures, k + 8, l + 8, 16, 16);
for(int j19 = k + 8; j19 < k + 8 + 16; j19++)
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/EffectRenderer.java ../src_work/minecraft/net/minecraft/src/EffectRenderer.java
--- ../src_base/minecraft/net/minecraft/src/EffectRenderer.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/EffectRenderer.java 2011-08-02 16:07:40.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/EffectRenderer.java 2011-07-29 23:21:33.988004400 +0200
+++ ../src_work/minecraft/net/minecraft/src/EffectRenderer.java 2011-07-30 08:15:01.696145000 +0200
@@ -7,6 +7,9 @@
import java.util.*;
import org.lwjgl.opengl.GL11;
@@ -205,8 +226,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/EffectRen
private Random rand;
}
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/EntityPlayer.java ../src_work/minecraft/net/minecraft/src/EntityPlayer.java
--- ../src_base/minecraft/net/minecraft/src/EntityPlayer.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/EntityPlayer.java 2011-08-02 16:07:41.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/EntityPlayer.java 2011-07-29 23:21:34.219017000 +0200
+++ ../src_work/minecraft/net/minecraft/src/EntityPlayer.java 2011-07-30 21:03:33.693757400 +0200
@@ -6,6 +6,8 @@
import java.util.*;
@@ -239,8 +260,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/EntityPla
int k = i * j + damageRemainder;
inventory.damageArmor(i);
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Explosion.java ../src_work/minecraft/net/minecraft/src/Explosion.java
--- ../src_base/minecraft/net/minecraft/src/Explosion.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/Explosion.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/Explosion.java 2011-07-29 23:21:34.371026000 +0200
+++ ../src_work/minecraft/net/minecraft/src/Explosion.java 2011-07-30 08:35:55.747872700 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -269,8 +290,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/Explosion
if(f1 > 0.0F)
{
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemBucket.java ../src_work/minecraft/net/minecraft/src/ItemBucket.java
--- ../src_base/minecraft/net/minecraft/src/ItemBucket.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/ItemBucket.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/ItemBucket.java 2011-07-29 23:21:34.649042000 +0200
+++ ../src_work/minecraft/net/minecraft/src/ItemBucket.java 2011-07-30 08:15:01.709145800 +0200
@@ -6,6 +6,8 @@
import java.util.Random;
@@ -295,8 +316,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemBucke
{
world.setBlockWithNotify(i, j, k, 0);
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemPickaxe.java ../src_work/minecraft/net/minecraft/src/ItemPickaxe.java
--- ../src_base/minecraft/net/minecraft/src/ItemPickaxe.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/ItemPickaxe.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/ItemPickaxe.java 2011-07-29 23:21:34.696044000 +0200
+++ ../src_work/minecraft/net/minecraft/src/ItemPickaxe.java 2011-07-30 08:15:01.718146300 +0200
@@ -4,6 +4,8 @@
package net.minecraft.src;
@@ -317,8 +338,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemPicka
{
return true;
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemRenderer.java ../src_work/minecraft/net/minecraft/src/ItemRenderer.java
--- ../src_base/minecraft/net/minecraft/src/ItemRenderer.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/ItemRenderer.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/ItemRenderer.java 2011-07-29 23:21:34.720046300 +0200
+++ ../src_work/minecraft/net/minecraft/src/ItemRenderer.java 2011-07-30 08:15:01.733147100 +0200
@@ -5,6 +5,8 @@
package net.minecraft.src;
@@ -348,8 +369,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemRende
Tessellator tessellator = Tessellator.instance;
int i = entityliving.getItemIcon(itemstack);
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemTool.java ../src_work/minecraft/net/minecraft/src/ItemTool.java
--- ../src_base/minecraft/net/minecraft/src/ItemTool.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/ItemTool.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/ItemTool.java 2011-07-29 23:21:34.752048000 +0200
+++ ../src_work/minecraft/net/minecraft/src/ItemTool.java 2011-07-30 09:12:08.010119000 +0200
@@ -4,6 +4,7 @@
package net.minecraft.src;
@@ -367,12 +388,12 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/ItemTool.
+ blocksEffectiveAgainst = Arrays.copyOf(blocksEffectiveAgainst,
+ blocksEffectiveAgainst.length + 1);
+
+ blocksEffectiveAgainst [blocksEffectiveAgainst.length-1] = block;
+ blocksEffectiveAgainst [blocksEffectiveAgainst.length] = block;
+ }
}
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/PlayerController.java ../src_work/minecraft/net/minecraft/src/PlayerController.java
--- ../src_base/minecraft/net/minecraft/src/PlayerController.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/PlayerController.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/PlayerController.java 2011-07-29 23:21:35.368083000 +0200
+++ ../src_work/minecraft/net/minecraft/src/PlayerController.java 2011-07-30 08:41:23.244604400 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -395,8 +416,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/PlayerCon
if(i1 > 0 && Block.blocksList[i1].blockActivated(world, i, j, k, entityplayer))
{
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/RenderItem.java ../src_work/minecraft/net/minecraft/src/RenderItem.java
--- ../src_base/minecraft/net/minecraft/src/RenderItem.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/RenderItem.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/RenderItem.java 2011-07-29 23:21:35.881112700 +0200
+++ ../src_work/minecraft/net/minecraft/src/RenderItem.java 2011-07-30 08:15:01.745147800 +0200
@@ -5,6 +5,9 @@
package net.minecraft.src;
@@ -457,100 +478,9 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/RenderIte
}
int k1 = Item.itemsList[i].getColorFromDamage(j);
float f = (float)(k1 >> 16 & 0xff) / 255F;
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/World.java ../src_work/minecraft/net/minecraft/src/World.java
--- ../src_base/minecraft/net/minecraft/src/World.java 2011-08-02 16:05:38.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/World.java 2011-08-03 01:10:53.000000000 -0400
@@ -7,6 +7,8 @@
import java.io.PrintStream;
import java.util.*;
+import net.minecraft.src.forge.IBlockSecondaryProperties;
+
// Referenced classes of package net.minecraft.src:
// IBlockAccess, WorldProvider, WorldInfo, MapStorage,
// ISaveHandler, ChunkProvider, EntityPlayer, ChunkProviderLoadOrGenerate,
@@ -313,7 +315,25 @@
public boolean isAirBlock(int i, int j, int k)
{
- return getBlockId(i, j, k) == 0;
+ int iBlockID = getBlockId( i, j, k );
+
+ if ( iBlockID == 0 )
+ {
+ return true;
+ }
+ else
+ {
+ Block block = Block.blocksList[iBlockID];
+
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ return ((IBlockSecondaryProperties)block).isAirBlock( this, i, j, k );
+ }
+ else
+ {
+ return false;
+ }
+ }
}
public boolean blockExists(int i, int j, int k)
@@ -1608,6 +1628,18 @@
{
return true;
}
+ else
+ {
+ Block block = Block.blocksList[j2];
+
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ if ( ((IBlockSecondaryProperties)block).isBlockBurning( this, k1, i1, i2 ) )
+ {
+ return true;
+ }
+ }
+ }
}
}
@@ -1900,7 +1932,14 @@
return false;
} else
{
- return block.blockMaterial.getIsTranslucent() && block.renderAsNormalBlock();
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ return ((IBlockSecondaryProperties)block).isBlockNormalCube( this, i, j, k );
+ }
+ else
+ {
+ return block.blockMaterial.getIsTranslucent() && block.renderAsNormalBlock();
+ }
}
}
@@ -2425,6 +2464,16 @@
{
block = null;
}
+ else
+ {
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ if ( ((IBlockSecondaryProperties)block).isBlockReplaceable( this, j, k, l ) )
+ {
+ block = null;
+ }
+ }
+ }
return i > 0 && block == null && block1.canPlaceBlockOnSide(this, j, k, l, i1);
}
diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/WorldRenderer.java ../src_work/minecraft/net/minecraft/src/WorldRenderer.java
--- ../src_base/minecraft/net/minecraft/src/WorldRenderer.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft/net/minecraft/src/WorldRenderer.java 2011-08-02 16:07:42.000000000 -0400
--- ../src_base/minecraft/net/minecraft/src/WorldRenderer.java 2011-07-29 23:21:36.427143900 +0200
+++ ../src_work/minecraft/net/minecraft/src/WorldRenderer.java 2011-07-30 08:28:15.329538300 +0200
@@ -3,8 +3,12 @@
// Decompiler options: packimports(3) braces deadcode
@@ -594,8 +524,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft/net/minecraft/src/WorldRend
}
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/BlockRedstoneWire.java ../src_work/minecraft_server/net/minecraft/src/BlockRedstoneWire.java
--- ../src_base/minecraft_server/net/minecraft/src/BlockRedstoneWire.java 2011-08-02 16:05:40.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/BlockRedstoneWire.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/BlockRedstoneWire.java 2011-07-29 23:21:49.985919000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/BlockRedstoneWire.java 2011-07-30 08:15:01.754148300 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -616,8 +546,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Bl
{
return true;
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Chunk.java ../src_work/minecraft_server/net/minecraft/src/Chunk.java
--- ../src_base/minecraft_server/net/minecraft/src/Chunk.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/Chunk.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/Chunk.java 2011-07-29 23:21:50.050923000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/Chunk.java 2011-07-30 08:15:01.770149300 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -654,9 +584,30 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Ch
blocks[i << 11 | k << 7 | j] = (byte)(byte0 & 0xff);
if(j1 != 0)
{
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ChunkProviderGenerate.java ../src_work/minecraft_server/net/minecraft/src/ChunkProviderGenerate.java
--- ../src_base/minecraft_server/net/minecraft/src/ChunkProviderGenerate.java 2011-07-29 23:21:50.088925000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/ChunkProviderGenerate.java 2011-07-30 08:15:01.786150200 +0200
@@ -6,6 +6,8 @@
import java.util.Random;
+import net.minecraft.src.forge.MinecraftForge;
+
// Referenced classes of package net.minecraft.src:
// IChunkProvider, MapGenCaves, NoiseGeneratorOctaves, Block,
// BiomeGenBase, Chunk, World, WorldChunkManager,
@@ -632,6 +634,8 @@
int i25 = l + rand.nextInt(16) + 8;
(new WorldGenLiquids(Block.lavaMoving.blockID)).generate(worldObj, rand, i22, l23, i25);
}
+
+ MinecraftForge.populateBiome(worldObj, biomegenbase, k, l);
generatedTemperatures = worldObj.getWorldChunkManager().getTemperatures(generatedTemperatures, k + 8, l + 8, 16, 16);
for(int j19 = k + 8; j19 < k + 8 + 16; j19++)
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/EntityPlayer.java ../src_work/minecraft_server/net/minecraft/src/EntityPlayer.java
--- ../src_base/minecraft_server/net/minecraft/src/EntityPlayer.java 2011-08-02 16:05:40.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/EntityPlayer.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/EntityPlayer.java 2011-07-29 23:21:50.320938000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/EntityPlayer.java 2011-07-30 21:04:21.430487800 +0200
@@ -6,6 +6,8 @@
import java.util.*;
@@ -689,8 +640,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/En
int k = i * j + damageRemainder;
inventory.damageArmor(i);
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Explosion.java ../src_work/minecraft_server/net/minecraft/src/Explosion.java
--- ../src_base/minecraft_server/net/minecraft/src/Explosion.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/Explosion.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/Explosion.java 2011-07-29 23:21:50.402943000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/Explosion.java 2011-07-30 08:15:01.806151300 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -718,8 +669,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Ex
if(f1 > 0.0F)
{
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemBucket.java ../src_work/minecraft_server/net/minecraft/src/ItemBucket.java
--- ../src_base/minecraft_server/net/minecraft/src/ItemBucket.java 2011-08-02 16:05:40.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/ItemBucket.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/ItemBucket.java 2011-07-29 23:21:50.491948000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/ItemBucket.java 2011-07-30 08:15:01.811151600 +0200
@@ -6,6 +6,8 @@
import java.util.Random;
@@ -744,8 +695,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/It
{
world.setBlockWithNotify(i, j, k, 0);
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemInWorldManager.java ../src_work/minecraft_server/net/minecraft/src/ItemInWorldManager.java
--- ../src_base/minecraft_server/net/minecraft/src/ItemInWorldManager.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/ItemInWorldManager.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/ItemInWorldManager.java 2011-07-29 23:21:50.519949000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/ItemInWorldManager.java 2011-07-30 08:15:01.830152700 +0200
@@ -3,6 +3,7 @@
// Decompiler options: packimports(3) braces deadcode
@@ -767,8 +718,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/It
if(i1 > 0 && Block.blocksList[i1].blockActivated(world, i, j, k, entityplayer))
{
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemPickaxe.java ../src_work/minecraft_server/net/minecraft/src/ItemPickaxe.java
--- ../src_base/minecraft_server/net/minecraft/src/ItemPickaxe.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/ItemPickaxe.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/ItemPickaxe.java 2011-07-29 23:21:50.541951000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/ItemPickaxe.java 2011-07-30 08:15:01.834152900 +0200
@@ -4,6 +4,8 @@
package net.minecraft.src;
@@ -789,8 +740,8 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/It
{
return true;
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/ItemTool.java ../src_work/minecraft_server/net/minecraft/src/ItemTool.java
--- ../src_base/minecraft_server/net/minecraft/src/ItemTool.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/ItemTool.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/ItemTool.java 2011-07-29 23:21:50.581953000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/ItemTool.java 2011-07-30 08:15:01.838153200 +0200
@@ -4,6 +4,8 @@
package net.minecraft.src;
@@ -809,12 +760,12 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/It
+ blocksEffectiveAgainst = Arrays.copyOf(blocksEffectiveAgainst,
+ blocksEffectiveAgainst.length + 1);
+
+ blocksEffectiveAgainst [blocksEffectiveAgainst.length-1] = block;
+ blocksEffectiveAgainst [blocksEffectiveAgainst.length + 1] = block;
+ }
}
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/PlayerInstance.java ../src_work/minecraft_server/net/minecraft/src/PlayerInstance.java
--- ../src_base/minecraft_server/net/minecraft/src/PlayerInstance.java 2011-08-02 16:05:40.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/PlayerInstance.java 2011-08-02 16:07:43.000000000 -0400
--- ../src_base/minecraft_server/net/minecraft/src/PlayerInstance.java 2011-07-29 23:21:51.077981000 +0200
+++ ../src_work/minecraft_server/net/minecraft/src/PlayerInstance.java 2011-07-30 08:15:01.842153400 +0200
@@ -169,12 +169,11 @@
sendPacketToPlayersInInstance(new Packet52MultiBlockChange(chunkX, chunkZ, blocksToUpdate, numBlocksToUpdate, worldserver));
for(int k = 0; k < numBlocksToUpdate; k++)
@@ -831,94 +782,3 @@ diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/Pl
updateTileEntity(worldserver.getBlockTileEntity(j1, i2, k2));
}
}
diff -u -r --strip-trailing-cr ../src_base/minecraft_server/net/minecraft/src/World.java ../src_work/minecraft_server/net/minecraft/src/World.java
--- ../src_base/minecraft_server/net/minecraft/src/World.java 2011-08-02 16:05:39.000000000 -0400
+++ ../src_work/minecraft_server/net/minecraft/src/World.java 2011-08-03 01:10:51.000000000 -0400
@@ -7,6 +7,8 @@
import java.io.PrintStream;
import java.util.*;
+import net.minecraft.src.forge.IBlockSecondaryProperties;
+
// Referenced classes of package net.minecraft.src:
// IBlockAccess, WorldProvider, MapStorage, ISaveHandler,
// WorldInfo, ChunkProvider, IChunkProvider, IProgressUpdate,
@@ -166,7 +168,25 @@
public boolean isAirBlock(int i, int j, int k)
{
- return getBlockId(i, j, k) == 0;
+ int iBlockID = getBlockId( i, j, k );
+
+ if ( iBlockID == 0 )
+ {
+ return true;
+ }
+ else
+ {
+ Block block = Block.blocksList[iBlockID];
+
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ return ((IBlockSecondaryProperties)block).isAirBlock( this, i, j, k );
+ }
+ else
+ {
+ return false;
+ }
+ }
}
public boolean blockExists(int i, int j, int k)
@@ -1409,6 +1429,18 @@
{
return true;
}
+ else
+ {
+ Block block = Block.blocksList[j2];
+
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ if ( ((IBlockSecondaryProperties)block).isBlockBurning( this, k1, i1, i2 ) )
+ {
+ return true;
+ }
+ }
+ }
}
}
@@ -1686,7 +1718,14 @@
return false;
} else
{
- return block.blockMaterial.getIsOpaque() && block.isACube();
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ return ((IBlockSecondaryProperties)block).isBlockNormalCube( this, i, j, k );
+ }
+ else
+ {
+ return block.blockMaterial.getIsOpaque() && block.isACube();
+ }
}
}
@@ -2178,6 +2217,16 @@
{
block = null;
}
+ else
+ {
+ if ( block instanceof IBlockSecondaryProperties )
+ {
+ if ( ((IBlockSecondaryProperties)block).isBlockReplaceable( this, j, k, l ) )
+ {
+ block = null;
+ }
+ }
+ }
return i > 0 && block == null && block1.canPlaceBlockOnSide(this, j, k, l, i1);
}
+7 -15
View File
@@ -46,26 +46,18 @@ rm -rf reobf
cd $build_dir
mkdir forge
cd forge
mkdir src
mkdir src/minecraft
mkdir src/minecraft_server
cp -r ../forge_client/src/* src/minecraft
cp -r ../forge_server/src/* src/minecraft_server
cp -r ../forge_common/* src/minecraft
cp -r ../forge_common/* src/minecraft_server
cp ../minecraft.patch .
cp ../lfcr.py .
cp ../install/install.cmd .
cp ../install/README.txt .
cp -r ../doc .
cp -r forge_client/src/* src/minecraft
cp -r forge_server/src/* src/minecraft_server
cp -r forge_common/* src/minecraft
cp -r forge_common/* src/minecraft_server
cp minecraft.patch src
cd src
remove_svn .
cd ..
cd ..
zip -r $dir/minecraftforge-src-$version.zip forge
rm -rf forge
zip -r $dir/minecraftforge-src-$version.zip src doc
rm -rf src
+1 -1
View File
@@ -8,6 +8,6 @@ set PATH=E:\cygwin\bin;%PATH%
cd forge
sh package.sh 1.0.3
sh package.sh 1.0.0
pause
+4 -4
View File
@@ -1,3 +1,5 @@
set CYGWIN=E:\cygwin\bin
cd ..
rmdir /S /Q src
@@ -8,8 +10,7 @@ rmdir /S /Q src_work
) ELSE (
cmd /C decompile.bat
cd src
..\runtime\bin\python\python_mcp ..\forge\lfcr.py ..\forge\modLoaderMP.patch ..\forge\modLoaderMP-win.patch
..\runtime\bin\applydiff.exe -uf -p2 < ..\forge\modLoaderMP-win.patch
%CYGWIN%\patch -u -p2 < ..\forge\modLoaderMP.patch
cd ..
cmd /C recompile.bat
cmd /C updatemd5.bat
@@ -20,6 +21,5 @@ mkdir src_work
xcopy /Y /E src\* src_base
xcopy /Y /E src\* src_work
cd src_work
..\runtime\bin\python\python_mcp ..\forge\lfcr.py ..\forge\minecraft.patch ..\forge\minecraft-win.patch
..\runtime\bin\applydiff.exe -uf -p2 < ..\forge\minecraft-win.patch
%CYGWIN%\patch -u -p2 < ..\forge\minecraft.patch
pause