mirror of
https://github.com/HbmMods/Hbm-s-Nuclear-Tech-GIT.git
synced 2026-01-25 10:32:49 +00:00
52 lines
1.7 KiB
Java
52 lines
1.7 KiB
Java
package com.hbm.items.tool;
|
|
|
|
import java.util.List;
|
|
|
|
import com.hbm.util.fauxpointtwelve.BlockPos;
|
|
|
|
import net.minecraft.block.Block;
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
import net.minecraft.item.ItemStack;
|
|
import net.minecraft.util.EnumChatFormatting;
|
|
import net.minecraft.world.World;
|
|
|
|
public class ItemStructureRandomly extends ItemStructureTool {
|
|
|
|
@Override
|
|
public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) {
|
|
super.addInformation(stack, player, list, ext);
|
|
list.add(EnumChatFormatting.YELLOW + "Click to print a <randomlyFillWithBlocks>");
|
|
list.add(EnumChatFormatting.YELLOW + "line with the targeted block.");
|
|
}
|
|
|
|
@Override
|
|
protected boolean dualUse() {
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
protected void doTheThing(ItemStack stack, World world, int x, int y, int z) {
|
|
|
|
BlockPos pos = this.getAnchor(stack);
|
|
if(pos == null) return;
|
|
|
|
int savedX = stack.stackTagCompound.getInteger("x");
|
|
int savedY = stack.stackTagCompound.getInteger("y");
|
|
int savedZ = stack.stackTagCompound.getInteger("z");
|
|
|
|
int minX = Math.min(savedX, x) - pos.getX();
|
|
int minY = Math.min(savedY, y) - pos.getY();
|
|
int minZ = Math.min(savedZ, z) - pos.getZ();
|
|
int maxX = Math.max(savedX, x) - pos.getX();
|
|
int maxY = Math.max(savedY, y) - pos.getY();
|
|
int maxZ = Math.max(savedZ, z) - pos.getZ();
|
|
//Assumes the last selected block is the one that all of them are.
|
|
Block b = world.getBlock(x, y, z);
|
|
|
|
String line = "randomlyFillWithBlocks(world, box, rand, <limit>, " + minX + ", " + minY + ", " + minZ + ", " + maxX + ", " + maxY + ", " + maxZ + ", " + b.getUnlocalizedName() + ");\n";
|
|
System.out.print(line);
|
|
writeToFile(line);
|
|
}
|
|
|
|
}
|