mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-13 08:44:25 +00:00
Allow itemstacks for furnace recipe inputs. Allow passing extra arguments through registerblock into the itemblock constructor.
This commit is contained in:
1 parent
061288909d
commit
5d069629cf
2 files changed
+15
-6
No files matched your search
@@ -10,18 +10,15 @@ import io.netty.util.AttributeKey;
|
||||
import io.netty.util.concurrent.Future;
|
||||
import io.netty.util.concurrent.GenericFutureListener;
|
||||
import io.netty.util.concurrent.ScheduledFuture;
|
||||
|
||||
import java.net.SocketAddress;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.Callable;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.network.EnumConnectionState;
|
||||
import net.minecraft.network.NetHandlerPlayServer;
|
||||
import net.minecraft.network.NetworkManager;
|
||||
import net.minecraft.network.Packet;
|
||||
import net.minecraft.network.play.INetHandlerPlayClient;
|
||||
import net.minecraft.network.play.client.C17PacketCustomPayload;
|
||||
import net.minecraft.network.play.server.S3FPacketCustomPayload;
|
||||
import net.minecraft.network.play.server.S40PacketDisconnect;
|
||||
|
||||
@@ -38,6 +38,7 @@ import com.google.common.base.Objects;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.ObjectArrays;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.google.common.primitives.Ints;
|
||||
|
||||
@@ -165,7 +166,7 @@ public class GameRegistry
|
||||
* @param name The mod-unique name to register it with
|
||||
* @param modId The modId that will own the block name. null defaults to the active modId
|
||||
*/
|
||||
public static Block registerBlock(Block block, Class<? extends ItemBlock> itemclass, String name, String modId)
|
||||
public static Block registerBlock(Block block, Class<? extends ItemBlock> itemclass, String name, String modId, Object... itemCtorArgs)
|
||||
{
|
||||
if (Loader.instance().isInState(LoaderState.CONSTRUCTING))
|
||||
{
|
||||
@@ -177,8 +178,14 @@ public class GameRegistry
|
||||
ItemBlock i = null;
|
||||
if (itemclass != null)
|
||||
{
|
||||
Constructor<? extends ItemBlock> itemCtor = itemclass.getConstructor(Block.class);
|
||||
i = itemCtor.newInstance(block);
|
||||
Class<?>[] ctorArgClasses = new Class<?>[itemCtorArgs.length + 1];
|
||||
ctorArgClasses[0] = Block.class;
|
||||
for (int idx = 1; idx < ctorArgClasses.length; idx++)
|
||||
{
|
||||
ctorArgClasses[idx] = itemCtorArgs[idx-1].getClass();
|
||||
}
|
||||
Constructor<? extends ItemBlock> itemCtor = itemclass.getConstructor(ctorArgClasses);
|
||||
i = itemCtor.newInstance(ObjectArrays.concat(block, itemCtorArgs));
|
||||
}
|
||||
if (i != null)
|
||||
{
|
||||
@@ -228,6 +235,11 @@ public class GameRegistry
|
||||
FurnaceRecipes.func_77602_a().func_151396_a(input, output, xp);
|
||||
}
|
||||
|
||||
public static void addSmelting(ItemStack input, ItemStack output, float xp)
|
||||
{
|
||||
FurnaceRecipes.func_77602_a().func_151394_a(input, output, xp);
|
||||
}
|
||||
|
||||
public static void registerTileEntity(Class<? extends TileEntity> tileEntityClass, String id)
|
||||
{
|
||||
TileEntity.func_145826_a(tileEntityClass, id);
|
||||
|
||||
Reference in new issue
Block a user