44import gregtech .api .pipenet .block .material .BlockMaterialPipe ;
55import gregtech .api .pipenet .tile .IPipeTile ;
66import gregtech .api .pipenet .tile .TileEntityPipeBase ;
7- import gregtech .api .unification .material .Material ;
87import gregtech .api .unification .material .properties .ItemPipeProperties ;
98import gregtech .api .unification .material .registry .MaterialRegistry ;
109import gregtech .client .renderer .pipe .ItemPipeRenderer ;
1615
1716import net .minecraft .block .state .IBlockState ;
1817import net .minecraft .client .renderer .texture .TextureAtlasSprite ;
19- import net .minecraft .creativetab .CreativeTabs ;
2018import net .minecraft .entity .player .EntityPlayer ;
2119import net .minecraft .item .ItemStack ;
2220import net .minecraft .tileentity .TileEntity ;
2321import net .minecraft .util .EnumBlockRenderType ;
2422import net .minecraft .util .EnumFacing ;
25- import net .minecraft .util .NonNullList ;
2623import net .minecraft .util .math .BlockPos ;
2724import net .minecraft .world .World ;
2825import net .minecraftforge .fml .relauncher .Side ;
2926import net .minecraftforge .fml .relauncher .SideOnly ;
3027import net .minecraftforge .items .CapabilityItemHandler ;
3128
32- import com .google .common .base .Preconditions ;
3329import org .apache .commons .lang3 .tuple .Pair ;
3430import org .jetbrains .annotations .NotNull ;
3531
36- import java .util .Collection ;
37- import java .util .Collections ;
38- import java .util .HashMap ;
39- import java .util .Map ;
40-
4132public class BlockItemPipe extends BlockMaterialPipe <ItemPipeType , ItemPipeProperties , WorldItemPipeNet > {
4233
43- private final Map <Material , ItemPipeProperties > enabledMaterials = new HashMap <>();
44-
4534 public BlockItemPipe (ItemPipeType itemPipeType , MaterialRegistry registry ) {
4635 super (itemPipeType , registry );
4736 setCreativeTab (GTCreativeTabs .TAB_GREGTECH_PIPES );
4837 setHarvestLevel (ToolClasses .WRENCH , 1 );
4938 }
5039
51- public void addPipeMaterial (Material material , ItemPipeProperties properties ) {
52- Preconditions .checkNotNull (material , "material" );
53- Preconditions .checkNotNull (properties , "material %s itemPipeProperties was null" , material );
54- Preconditions .checkArgument (material .getRegistry ().getNameForObject (material ) != null ,
55- "material %s is not registered" , material );
56- this .enabledMaterials .put (material , properties );
57- }
58-
5940 @ Override
6041 public TileEntityPipeBase <ItemPipeType , ItemPipeProperties > createNewTileEntity (boolean supportsTicking ) {
6142 return supportsTicking ? new TileEntityItemPipeTickable () : new TileEntityItemPipe ();
@@ -66,11 +47,6 @@ public Class<ItemPipeType> getPipeTypeClass() {
6647 return ItemPipeType .class ;
6748 }
6849
69- @ Override
70- protected ItemPipeProperties getFallbackType () {
71- return enabledMaterials .values ().iterator ().next ();
72- }
73-
7450 @ Override
7551 public WorldItemPipeNet getWorldPipeNet (World world ) {
7652 return WorldItemPipeNet .getWorldPipeNet (world );
@@ -82,29 +58,13 @@ protected Pair<TextureAtlasSprite, Integer> getParticleTexture(World world, Bloc
8258 return ItemPipeRenderer .INSTANCE .getParticleTexture ((TileEntityItemPipe ) world .getTileEntity (blockPos ));
8359 }
8460
85- @ Override
86- protected ItemPipeProperties createProperties (ItemPipeType itemPipeType , Material material ) {
87- return itemPipeType .modifyProperties (enabledMaterials .getOrDefault (material , getFallbackType ()));
88- }
89-
9061 @ SideOnly (Side .CLIENT )
9162 @ NotNull
9263 @ Override
9364 public PipeRenderer getPipeRenderer () {
9465 return ItemPipeRenderer .INSTANCE ;
9566 }
9667
97- public Collection <Material > getEnabledMaterials () {
98- return Collections .unmodifiableSet (enabledMaterials .keySet ());
99- }
100-
101- @ Override
102- public void getSubBlocks (@ NotNull CreativeTabs itemIn , @ NotNull NonNullList <ItemStack > items ) {
103- for (Material material : enabledMaterials .keySet ()) {
104- items .add (getItem (material ));
105- }
106- }
107-
10868 @ Override
10969 public boolean canPipesConnect (IPipeTile <ItemPipeType , ItemPipeProperties > selfTile , EnumFacing side ,
11070 IPipeTile <ItemPipeType , ItemPipeProperties > sideTile ) {
0 commit comments