Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (โ‹ฎ) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

I am play with my friends and find easy dupe with thaumicenergestics. I am trying to fix it, but can find information about restrict extract items to hopper.

package thaumicenergistics.common.tiles;

import java.util.ArrayList;
import appeng.api.AEApi;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import thaumicenergistics.common.tiles.abstraction.ThETileInventory;

/**
 * Encodes recipes whose result is essentia.
 *
 * @author Nividica
 *
 */
public class TileDistillationPatternEncoder
	extends ThETileInventory
{
	/**
	 * NBT Keys
	 */
	private static String NBTKEY_INVENTORY = "inventory";

	/**
	 * Slot counts
	 */
	public static int SLOT_PATTERNS_COUNT = 2,
					SLOT_SOURCE_ITEM_COUNT = 1,
					SLOT_TOTAL_COUNT = SLOT_SOURCE_ITEM_COUNT + SLOT_PATTERNS_COUNT;
	/**
	 * Slot ID's
	 */
	public static int SLOT_SOURCE_ITEM = 0,
					SLOT_BLANK_PATTERNS = 1,
					SLOT_ENCODED_PATTERN = 2;

	/**
	 * Default constructor.
	 */
	public TileDistillationPatternEncoder()
	{
		super( "distillation.inscriber", SLOT_TOTAL_COUNT, 64 );
	}

	/**
	 * Does not need ticks.
	 */
	@Override
	public boolean canUpdate()
	{
		return false;
	}

	/**
	 * Returns a list of items to drop when broken.
	 *
	 * @return
	 */
	public ArrayList<ItemStack> getDrops( final ArrayList<ItemStack> drops )
	{
		// Add encoded
		if( this.internalInventory.getHasStack( SLOT_ENCODED_PATTERN ) )
		{
			drops.add( this.internalInventory.getStackInSlot( SLOT_ENCODED_PATTERN ) );
		}

		// Add blank
		if( this.internalInventory.getHasStack( SLOT_BLANK_PATTERNS ) )
		{
			drops.add( this.internalInventory.getStackInSlot( SLOT_BLANK_PATTERNS ) );
		}

		return drops;
	}

	/**
	 * True if there is a pattern to encode onto.
	 *
	 * @return
	 */
	public boolean hasPatterns()
	{
		// Is there anything in the pattern slots?
		return this.internalInventory.getHasStack( SLOT_ENCODED_PATTERN ) || this.internalInventory.getHasStack( SLOT_BLANK_PATTERNS );

	}

	@Override
	public boolean isItemValidForSlot( final int slotId, final ItemStack itemStack )
	{
		// Can always clear a slot
		if( itemStack == null )
		{
			return true;
		}

		// Empty pattern slot?
		if( slotId == SLOT_BLANK_PATTERNS )
		{
			return AEApi.instance().definitions().materials().blankPattern().isSameAs( itemStack );
		}

		// Encoded pattern slot?
		if( slotId == SLOT_ENCODED_PATTERN )
		{
			return AEApi.instance().definitions().items().encodedPattern().isSameAs( itemStack );
		}

		return true;
	}

	/**
	 * Read tile state from NBT.
	 */
	@Override
	public void readFromNBT( final NBTTagCompound data )
	{
		// Call super
		super.readFromNBT( data );

		// Has saved inventory?
		if( data.hasKey( NBTKEY_INVENTORY ) )
		{
			this.internalInventory.readFromNBT( data, NBTKEY_INVENTORY );
		}

	}

	/**
	 * Write tile state to NBT.
	 */
	@Override
	public void writeToNBT( final NBTTagCompound data )
	{
		// Call super
		super.writeToNBT( data );

		// Write the inventory
		this.internalInventory.writeToNBT( data, NBTKEY_INVENTORY );

	}
}

ย 

1.7.10 is no longer supported by Forge. Feel free to come back once you've updated.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

ย 

1.12 -> 1.13 primer by williewillus.

ย 

1.7.10 and older versions of Minecraft are no longer supported due to it's age!ย Update to the latest version for support.

ย 

http://www.howoldisminecraft1710.today/

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Important Information

By using this site, you agree to our Terms of Use.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions โ†’ Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.