Compare commits

..

No commits in common. "c9e5ca7ff8b18d9e9b1369e24f6f43b8859210af" and "87bc23628792a3ec137bdfc5cda4cd957027a55c" have entirely different histories.

13 changed files with 428 additions and 219 deletions

View file

@ -23,10 +23,10 @@ public class BlockRecipeGenerator extends RecipeProvider {
@Override
protected void buildShapelessRecipes(Consumer<IFinishedRecipe> consumer) {
//Battery Box
Recipe.shapeless(ActuallyBlocks.BATTERY_BOX.getItem()).ingredients(ActuallyBlocks.ENERGIZER.get(), ActuallyBlocks.ENERVATOR.get(), ActuallyItems.COIL.get()).save(consumer);
Recipe.shapeless(ActuallyBlocks.BATTERY_BOX.get()).ingredients(ActuallyBlocks.ENERGIZER.get(), ActuallyBlocks.ENERVATOR.get(), ActuallyItems.COIL.get()).save(consumer);
//Farmer
Recipe.shaped(ActuallyBlocks.FARMER.getItem())
Recipe.shaped(ActuallyBlocks.FARMER.get())
.pattern("ISI", "SCS", "ISI")
.define('I', ActuallyBlocks.ENORI_CRYSTAL.getItem())
.define('C', ActuallyBlocks.IRON_CASING.get())
@ -34,7 +34,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
//Empowerer
Recipe.shaped(ActuallyBlocks.EMPOWERER.getItem())
Recipe.shaped(ActuallyBlocks.EMPOWERER.get())
.pattern(" R ", " B ", "CDC")
.define('R', ActuallyItems.RESTONIA_CRYSTAL.get())
.define('B', ActuallyItems.BATTERY_DOUBLE.get())
@ -43,14 +43,14 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
//Tiny Torch
Recipe.shaped(ActuallyBlocks.TINY_TORCH.getItem(), 2)
Recipe.shaped(ActuallyBlocks.TINY_TORCH.get(), 2)
.pattern("C", "S")
.define('C', ActuallyTags.Items.TINY_COALS)
.define('S', Tags.Items.RODS_WOODEN)
.save(consumer, new ResourceLocation(ActuallyAdditions.MODID, "tiny_torch"));
//Fireworks Box
Recipe.shaped(ActuallyBlocks.FIREWORK_BOX.getItem())
Recipe.shaped(ActuallyBlocks.FIREWORK_BOX.get())
.pattern("GFG", "SAS", "CCC")
.define('G', Tags.Items.GUNPOWDER)
.define('S', Tags.Items.RODS_WOODEN)
@ -60,7 +60,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
//Shock Suppressor
Recipe.shaped(ActuallyBlocks.SHOCK_SUPPRESSOR.getItem())
Recipe.shaped(ActuallyBlocks.SHOCK_SUPPRESSOR.get())
.pattern("OAO", "ACA", "OAO")
.define('A', ActuallyItems.VOID_EMPOWERED_CRYSTAL.get())
.define('O', Tags.Items.OBSIDIAN)
@ -68,7 +68,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
//Display Stand
Recipe.shaped(ActuallyBlocks.DISPLAY_STAND.getItem())
Recipe.shaped(ActuallyBlocks.DISPLAY_STAND.get())
.pattern(" R ", "EEE", "GGG")
.define('R', ActuallyItems.COIL_ADVANCED.get())
.define('E', ActuallyBlocks.ETHETIC_GREEN_BLOCK.get())
@ -76,7 +76,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
//Vertical Digger
Recipe.shaped(ActuallyBlocks.VERTICAL_DIGGER.getItem())
Recipe.shaped(ActuallyBlocks.VERTICAL_DIGGER.get())
.pattern("IRI", "RCR", "IDI")
.define('R', Tags.Items.STORAGE_BLOCKS_REDSTONE)
.define('I', ActuallyBlocks.IRON_CASING.get())
@ -85,52 +85,52 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
//Black Quartz Wall
Recipe.wall(ActuallyBlocks.BLACK_QUARTZ_WALL.getItem(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
Recipe.wall(ActuallyBlocks.BLACK_QUARTZ_WALL.get(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
//Black Quartz Slab
Recipe.slab(ActuallyBlocks.BLACK_QUARTZ_SLAB.getItem(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
Recipe.slab(ActuallyBlocks.BLACK_QUARTZ_SLAB.get(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
//Black Quartz Stairs
Recipe.stairs(ActuallyBlocks.BLACK_QUARTZ_STAIR.getItem(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
Recipe.stairs(ActuallyBlocks.BLACK_QUARTZ_STAIR.get(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
//Pillar Black Quartz Wall
Recipe.wall(ActuallyBlocks.BLACK_QUARTZ_PILLAR_WALL.getItem(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
Recipe.wall(ActuallyBlocks.BLACK_QUARTZ_PILLAR_WALL.get(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
//Pillar Black Quartz Slab
Recipe.slab(ActuallyBlocks.BLACK_QUARTZ_PILLAR_SLAB.getItem(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
Recipe.slab(ActuallyBlocks.BLACK_QUARTZ_PILLAR_SLAB.get(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
//Pillar Black Quartz Stairs
Recipe.stairs(ActuallyBlocks.BLACK_QUARTZ_PILLAR_STAIR.getItem(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
Recipe.stairs(ActuallyBlocks.BLACK_QUARTZ_PILLAR_STAIR.get(), ActuallyBlocks.BLACK_QUARTZ_PILLAR_BLOCK.get(), consumer);
//Chiseled Black Quartz Wall
Recipe.wall(ActuallyBlocks.CHISELED_BLACK_QUARTZ_WALL.getItem(), ActuallyBlocks.CHISELED_BLACK_QUARTZ_BLOCK.get(), consumer);
Recipe.wall(ActuallyBlocks.CHISELED_BLACK_QUARTZ_WALL.get(), ActuallyBlocks.CHISELED_BLACK_QUARTZ_BLOCK.get(), consumer);
//Chiseled Black Quartz Slab
Recipe.slab(ActuallyBlocks.CHISELED_BLACK_QUARTZ_SLAB.getItem(), ActuallyBlocks.CHISELED_BLACK_QUARTZ_BLOCK.get(), consumer);
Recipe.slab(ActuallyBlocks.CHISELED_BLACK_QUARTZ_SLAB.get(), ActuallyBlocks.CHISELED_BLACK_QUARTZ_BLOCK.get(), consumer);
//Chiseled Black Quartz Stairs
Recipe.stairs(ActuallyBlocks.CHISELED_BLACK_QUARTZ_STAIR.getItem(), ActuallyBlocks.CHISELED_BLACK_QUARTZ_BLOCK.get(), consumer);
Recipe.stairs(ActuallyBlocks.CHISELED_BLACK_QUARTZ_STAIR.get(), ActuallyBlocks.CHISELED_BLACK_QUARTZ_BLOCK.get(), consumer);
//Ethetic White Wall
Recipe.wall(ActuallyBlocks.ETHETIC_WHITE_WALL.getItem(), ActuallyBlocks.ETHETIC_WHITE_BLOCK.get(), consumer);
Recipe.wall(ActuallyBlocks.ETHETIC_WHITE_WALL.get(), ActuallyBlocks.ETHETIC_WHITE_BLOCK.get(), consumer);
//Ethetic White Slab
Recipe.slab(ActuallyBlocks.ETHETIC_WHITE_SLAB.getItem(), ActuallyBlocks.ETHETIC_WHITE_BLOCK.get(), consumer);
Recipe.slab(ActuallyBlocks.ETHETIC_WHITE_SLAB.get(), ActuallyBlocks.ETHETIC_WHITE_BLOCK.get(), consumer);
//Ethetic White Stairs
Recipe.stairs(ActuallyBlocks.ETHETIC_WHITE_STAIRS.getItem(), ActuallyBlocks.ETHETIC_WHITE_BLOCK.get(), consumer);
Recipe.stairs(ActuallyBlocks.ETHETIC_WHITE_STAIRS.get(), ActuallyBlocks.ETHETIC_WHITE_BLOCK.get(), consumer);
// Ethetic Green Wall
Recipe.wall(ActuallyBlocks.ETHETIC_GREEN_WALL.getItem(), ActuallyBlocks.ETHETIC_GREEN_BLOCK.get(), consumer);
Recipe.wall(ActuallyBlocks.ETHETIC_GREEN_WALL.get(), ActuallyBlocks.ETHETIC_GREEN_BLOCK.get(), consumer);
// Ethetic Green Slab
Recipe.slab(ActuallyBlocks.ETHETIC_GREEN_SLAB.getItem(), ActuallyBlocks.ETHETIC_GREEN_BLOCK.get(), consumer);
Recipe.slab(ActuallyBlocks.ETHETIC_GREEN_SLAB.get(), ActuallyBlocks.ETHETIC_GREEN_BLOCK.get(), consumer);
// Ethetic Green Stairs
Recipe.stairs(ActuallyBlocks.ETHETIC_GREEN_STAIRS.getItem(), ActuallyBlocks.ETHETIC_GREEN_BLOCK.get(), consumer);
Recipe.stairs(ActuallyBlocks.ETHETIC_GREEN_STAIRS.get(), ActuallyBlocks.ETHETIC_GREEN_BLOCK.get(), consumer);
// Atomic Reconstructor
Recipe.shaped(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.getItem())
Recipe.shaped(ActuallyBlocks.ATOMIC_RECONSTRUCTOR.get())
.pattern("IRI", "RCR", "IRI")
.define('R', Tags.Items.DUSTS_REDSTONE)
.define('I', Tags.Items.INGOTS_IRON)
@ -138,7 +138,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
// Laser Relay
Recipe.shaped(ActuallyBlocks.LASER_RELAY.getItem(), 4)
Recipe.shaped(ActuallyBlocks.LASER_RELAY.get(), 4)
.pattern("OBO", "RCR", "OBO")
.define('B', Tags.Items.STORAGE_BLOCKS_REDSTONE)
.define('O', Tags.Items.OBSIDIAN)
@ -147,7 +147,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
// Advanced Laser Relay
Recipe.shaped(ActuallyBlocks.LASER_RELAY_ADVANCED.getItem())
Recipe.shaped(ActuallyBlocks.LASER_RELAY_ADVANCED.get())
.pattern(" I ", "XRX", " I ")
.define('I', ActuallyItems.ENORI_CRYSTAL.get())
.define('R', ActuallyBlocks.LASER_RELAY.get())
@ -155,7 +155,7 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
// Extreme Laser Relay
Recipe.shaped(ActuallyBlocks.LASER_RELAY_EXTREME.getItem())
Recipe.shaped(ActuallyBlocks.LASER_RELAY_EXTREME.get())
.pattern(" I ", "XRX", " I ")
.define('I', ActuallyItems.DIAMATINE_EMPOWERED_CRYSTAL.get())
.define('R', ActuallyBlocks.LASER_RELAY_ADVANCED.get())
@ -163,12 +163,12 @@ public class BlockRecipeGenerator extends RecipeProvider {
.save(consumer);
// Whitelist Item Laser Relay
Recipe.shapeless(ActuallyBlocks.LASER_RELAY_ITEM_ADVANCED.getItem())
Recipe.shapeless(ActuallyBlocks.LASER_RELAY_ITEM_ADVANCED.get())
.ingredients(ActuallyBlocks.LASER_RELAY_ITEM.get(), ActuallyItems.COIL_ADVANCED.get(), ActuallyItems.BLACK_QUARTZ.get())
.save(consumer);
// Item Interface
Recipe.shaped(ActuallyBlocks.ITEM_VIEWER.getItem())
Recipe.shaped(ActuallyBlocks.ITEM_VIEWER.get())
.pattern("OBO", "RCR", "OBO")
.define('B', Tags.Items.DUSTS_REDSTONE)
.define('O', ActuallyItems.COIL.get())

View file

@ -1,16 +1,12 @@
package de.ellpeck.actuallyadditions.data;
import com.google.gson.JsonObject;
import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks;
import de.ellpeck.actuallyadditions.mod.items.ActuallyItems;
import net.minecraft.data.*;
import net.minecraft.item.Items;
import net.minecraft.util.IItemProvider;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.Tags;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.DirectoryCache;
import net.minecraft.data.IFinishedRecipe;
import net.minecraft.data.RecipeProvider;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.function.Consumer;
public class ItemRecipeGenerator extends RecipeProvider {
@ -20,168 +16,11 @@ public class ItemRecipeGenerator extends RecipeProvider {
@Override
protected void buildShapelessRecipes(Consumer<IFinishedRecipe> consumer) {
//Goggles
Recipe.shaped(ActuallyItems.ENGINEER_GOGGLES.get())
.pattern(" R ")
.pattern("IGI")
.define('R', ActuallyItems.RESTONIA_CRYSTAL.get())
.define('I', Items.IRON_BARS)
.define('G', Tags.Items.GLASS).save(consumer);
//Advanced Goggles
Recipe.shaped(ActuallyItems.ENGINEER_GOGGLES_ADVANCED.get())
.pattern(" R ")
.pattern("IGI")
.define('R', ActuallyItems.RESTONIA_EMPOWERED_CRYSTAL.get())
.define('I', Items.IRON_BARS)
.define('G', ActuallyItems.ENGINEER_GOGGLES.get()).save(consumer);
//Laser Upgrades
//Invisibility
Recipe.shaped(ActuallyItems.LASER_UPGRADE_INVISIBILITY.get(), 4)
.pattern("GGG")
.pattern("RCR")
.pattern("GGG")
.define('G', Tags.Items.GLASS_BLACK)
.define('R', ActuallyItems.VOID_CRYSTAL.get())
.define('C', ActuallyItems.COIL_ADVANCED.get()).save(consumer);
//Range
Recipe.shaped(ActuallyItems.LASER_UPGRADE_RANGE.get(), 2)
.pattern("GGC")
.pattern("RCR")
.pattern("CGG")
.define('R', Items.COMPASS)
.define('G', ActuallyItems.RESTONIA_CRYSTAL.get())
.define('C', ActuallyItems.COIL_ADVANCED.get()).save(consumer);
//Filling Wand
Recipe.shaped(ActuallyItems.FILLING_WAND.get())
.pattern("IPI")
.pattern("DCD")
.pattern(" B ")
.define('I', ActuallyItems.ENORI_EMPOWERED_CRYSTAL.get())
.define('P', ActuallyItems.PALIS_CRYSTAL.get())
.define('C', ActuallyItems.COIL_ADVANCED.get())
.define('D', ActuallyItems.DIAMATINE_CRYSTAL.get())
.define('B', ActuallyItems.BATTERY_TRIPLE.get()).save(consumer);
//Bag
Recipe.shaped(ActuallyItems.BAG.get())
.pattern("SLS")
.pattern("SCS")
.pattern("LVL")
.define('S', Tags.Items.STRING)
.define('L', Tags.Items.LEATHER)
.define('C', Tags.Items.CHESTS_WOODEN)
.define('B', ActuallyBlocks.VOID_CRYSTAL.getItem()).save(consumer);
//Void Bag
Recipe.shapeless(ActuallyItems.VOID_BAG.get())
.requires(ActuallyItems.BAG.get())
.requires(Tags.Items.ENDER_PEARLS)
.requires(Tags.Items.OBSIDIAN)
.requires(ActuallyBlocks.VOID_CRYSTAL.getItem())
.save(consumer);
super.buildShapelessRecipes(consumer);
}
@Override
protected void saveAdvancement(DirectoryCache cache, JsonObject cache2, Path advancementJson) {
//Nope...
}
public static class Recipe {
public static ItemRecipeGenerator.Recipe.Shapeless shapeless(IItemProvider result) {
return new ItemRecipeGenerator.Recipe.Shapeless(result);
}
public static ItemRecipeGenerator.Recipe.Shapeless shapeless(IItemProvider result, int count) {
return new ItemRecipeGenerator.Recipe.Shapeless(result, count);
}
public static ItemRecipeGenerator.Recipe.Shaped shaped(IItemProvider result) {
return new ItemRecipeGenerator.Recipe.Shaped(result);
}
public static ItemRecipeGenerator.Recipe.Shaped shaped(IItemProvider result, int count) {
return new ItemRecipeGenerator.Recipe.Shaped(result, count);
}
private static class Shapeless extends ShapelessRecipeBuilder {
public Shapeless(IItemProvider result) {
this(result, 1);
}
public Shapeless(IItemProvider result, int countIn) {
super(result, countIn);
}
public ItemRecipeGenerator.Recipe.Shapeless ingredients(IItemProvider... ingredients) {
Arrays.asList(ingredients).forEach(this::requires);
return this;
}
@Override
public void save(Consumer<IFinishedRecipe> consumer) {
this.unlockedBy("has_book", has(ActuallyItems.ITEM_BOOKLET.get()));
super.save(consumer);
}
@Override
public void save(Consumer<IFinishedRecipe> consumer, ResourceLocation location) {
this.unlockedBy("has_book", has(ActuallyItems.ITEM_BOOKLET.get()));
super.save(consumer, location);
}
}
private static class Shaped extends ShapedRecipeBuilder {
public Shaped(IItemProvider resultIn) {
this(resultIn, 1);
}
public Shaped(IItemProvider resultIn, int countIn) {
super(resultIn, countIn);
}
public ItemRecipeGenerator.Recipe.Shaped pattern(String line1, String line2, String line3) {
this.pattern(line1);
this.pattern(line2);
this.pattern(line3);
return this;
}
public ItemRecipeGenerator.Recipe.Shaped pattern(String line1, String line2) {
this.pattern(line1);
this.pattern(line2);
return this;
}
public ItemRecipeGenerator.Recipe.Shaped patternSingleKey(char key, IItemProvider resource, String... lines) {
this.define(key, resource);
for (String line : lines) {
this.pattern(line);
}
return this;
}
@Override
public void save(Consumer<IFinishedRecipe> consumerIn) {
this.unlockedBy("has_book", has(ActuallyItems.ITEM_BOOKLET.get()));
super.save(consumerIn);
}
@Override
public void save(Consumer<IFinishedRecipe> consumerIn, ResourceLocation id) {
this.unlockedBy("has_book", has(ActuallyItems.ITEM_BOOKLET.get()));
super.save(consumerIn, id);
}
}
}
}

View file

@ -0,0 +1,364 @@
// TODO: [port][note] not used, this isn't how we do this any more
///*
// * This file ("CreativeTab.java") is part of the Actually Additions mod for Minecraft.
// * It is created and owned by Ellpeck and distributed
// * under the Actually Additions License to be found at
// * http://ellpeck.de/actaddlicense
// * View the source code at https://github.com/Ellpeck/ActuallyAdditions
// *
// * © 2015-2017 Ellpeck
// */
//
//package de.ellpeck.actuallyadditions.mod.creative;
//
//import de.ellpeck.actuallyadditions.api.misc.IDisableableItem;
//import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
//import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks;
//import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
//import de.ellpeck.actuallyadditions.mod.items.InitItems;
//import net.minecraft.block.Block;
//import net.minecraft.creativetab.CreativeTabs;
//import net.minecraft.item.Item;
//import net.minecraft.item.ItemStack;
//import net.minecraft.util.NonNullList;
//import net.minecraftforge.fluids.Fluid;
//import net.minecraftforge.fluids.FluidStack;
//import net.minecraftforge.fluids.FluidUtil;
//import net.minecraftforge.fml.relauncher.Side;
//
//
//public class CreativeTab extends CreativeTabs {
//
// public static final CreativeTab INSTANCE = new CreativeTab();
// private NonNullList<ItemStack> list;
//
// public CreativeTab() {
// super(ActuallyAdditions.MODID);
// this.setBackgroundImageName(ActuallyAdditions.MODID + ".png");
// }
//
// @Override
// public boolean hasSearchBar() {
// return true;
// }
//
// @Override
// public int getSearchbarWidth() {
// return 70;
// }
//
// @Override
// public ItemStack createIcon() {
// return new ItemStack(InitItems.itemBooklet);
// }
//
// @Override
// @OnlyIn(Dist.CLIENT)
// public void displayAllRelevantItems(NonNullList<ItemStack> list) {
// this.list = list;
//
// this.add(InitItems.itemBooklet);
// this.add(InitBlocks.blockSmileyCloud);
// this.add(InitBlocks.blockTinyTorch);
//
// this.add(InitBlocks.blockFireworkBox);
// this.add(InitBlocks.blockLaserRelay);
// this.add(InitBlocks.blockLaserRelayAdvanced);
// this.add(InitBlocks.blockLaserRelayExtreme);
// this.add(InitBlocks.blockLaserRelayFluids);
// this.add(InitBlocks.blockLaserRelayItem);
// this.add(InitBlocks.blockLaserRelayItemWhitelist);
// this.add(InitBlocks.blockItemViewer);
// this.add(InitBlocks.blockItemViewerHopping);
// this.add(InitBlocks.blockAtomicReconstructor);
// this.add(InitBlocks.blockEmpowerer);
// this.add(InitBlocks.blockPhantomface);
// this.add(InitBlocks.blockPhantomEnergyface);
// this.add(InitBlocks.blockPhantomLiquiface);
// this.add(InitBlocks.blockPhantomRedstoneface);
// this.add(InitBlocks.blockPhantomPlacer);
// this.add(InitBlocks.blockPhantomBreaker);
// this.add(InitBlocks.blockPlayerInterface);
// this.add(InitBlocks.blockInputter);
// this.add(InitBlocks.blockInputterAdvanced);
// this.add(InitBlocks.blockPhantomBooster);
// this.add(InitBlocks.blockCoffeeMachine);
// this.add(InitBlocks.blockXPSolidifier);
// this.add(InitBlocks.blockDisplayStand);
//
// this.add(InitBlocks.blockFarmer);
// this.add(InitBlocks.blockShockSuppressor);
// this.add(InitBlocks.blockMiner);
// this.add(InitBlocks.blockGreenhouseGlass);
// this.add(InitBlocks.blockGrinder);
// this.add(InitBlocks.blockGrinderDouble);
// this.add(InitBlocks.blockFurnaceDouble);
// this.add(InitBlocks.blockLavaFactoryController);
//
// this.add(InitBlocks.blockEnergizer);
// this.add(InitBlocks.blockEnervator);
//
// this.add(InitBlocks.blockFurnaceSolar);
// this.add(InitBlocks.blockHeatCollector);
// this.add(InitBlocks.blockCoalGenerator);
// this.add(InitBlocks.blockOilGenerator);
// this.add(InitBlocks.blockLeafGenerator);
// this.add(InitBlocks.blockBioReactor);
//
// this.add(InitBlocks.blockItemRepairer);
// this.add(InitBlocks.blockFishingNet);
// this.add(InitBlocks.blockBreaker);
// this.add(InitBlocks.blockDirectionalBreaker);
// this.add(InitBlocks.blockRangedCollector);
// this.add(InitBlocks.blockPlacer);
// this.add(InitBlocks.blockDropper);
// this.add(InitBlocks.blockFluidPlacer);
// this.add(InitBlocks.blockFluidCollector);
// this.add(InitBlocks.blockBatteryBox);
//
// this.add(InitBlocks.blockMisc);
// this.add(InitBlocks.blockFeeder);
// this.add(InitBlocks.blockCompost);
// this.add(InitBlocks.blockGiantChest);
// this.add(InitBlocks.blockGiantChestMedium);
// this.add(InitBlocks.blockGiantChestLarge);
// this.add(InitBlocks.blockCanolaPress);
// this.add(InitBlocks.blockFermentingBarrel);
//
// this.add(InitBlocks.blockTestifiBucksGreenWall);
// this.add(InitBlocks.blockTestifiBucksWhiteWall);
// this.add(InitBlocks.blockTestifiBucksGreenStairs);
// this.add(InitBlocks.blockTestifiBucksWhiteStairs);
// this.add(InitBlocks.blockTestifiBucksGreenSlab);
// this.add(InitBlocks.blockTestifiBucksWhiteSlab);
// this.add(InitBlocks.blockTestifiBucksGreenFence);
// this.add(InitBlocks.blockTestifiBucksWhiteFence);
//
// this.add(InitBlocks.blockQuartzWall);
// this.add(InitBlocks.blockQuartzStair);
// this.add(InitBlocks.blockQuartzSlab);
// this.add(InitBlocks.blockChiseledQuartzWall);
// this.add(InitBlocks.blockChiseledQuartzStair);
// this.add(InitBlocks.blockChiseledQuartzSlab);
// this.add(InitBlocks.blockPillarQuartzWall);
// this.add(InitBlocks.blockPillarQuartzStair);
// this.add(InitBlocks.blockPillarQuartzSlab);
//
// this.add(InitBlocks.blockColoredLamp);
// this.add(InitBlocks.blockColoredLampOn);
// this.add(InitBlocks.blockLampPowerer);
// this.add(InitBlocks.blockTreasureChest);
//
// this.add(InitBlocks.blockBlackLotus);
//
// this.add(InitItems.itemBag);
// this.add(InitItems.itemVoidBag);
//
// this.add(InitItems.itemWorm);
// this.add(InitItems.itemPlayerProbe);
// this.add(InitItems.itemColorLens);
// this.add(InitItems.itemExplosionLens);
// this.add(InitItems.itemDamageLens);
// this.add(InitItems.itemMoreDamageLens);
// this.add(InitItems.itemDisenchantingLens);
// this.add(InitItems.itemMiningLens);
// this.add(InitItems.itemLaserWrench);
// this.add(InitItems.itemLaserUpgradeInvisibility);
// this.add(InitItems.itemLaserUpgradeRange);
// this.add(InitItems.itemEngineerGoggles);
// this.add(InitItems.itemEngineerGogglesAdvanced);
// this.add(InitItems.itemCrateKeeper);
// this.add(InitItems.itemChestToCrateUpgrade);
// this.add(InitItems.itemSmallToMediumCrateUpgrade);
// this.add(InitItems.itemMediumToLargeCrateUpgrade);
// this.add(InitItems.itemSpawnerChanger);
// this.add(InitItems.itemWaterBowl);
//
// this.add(InitItems.itemDrill);
// this.add(InitItems.itemDrillUpgradeSpeed);
// this.add(InitItems.itemDrillUpgradeSpeedII);
// this.add(InitItems.itemDrillUpgradeSpeedIII);
// this.add(InitItems.itemDrillUpgradeSilkTouch);
// this.add(InitItems.itemDrillUpgradeFortune);
// this.add(InitItems.itemDrillUpgradeFortuneII);
// this.add(InitItems.itemDrillUpgradeThreeByThree);
// this.add(InitItems.itemDrillUpgradeFiveByFive);
// this.add(InitItems.itemDrillUpgradeBlockPlacing);
// this.add(InitItems.itemBattery);
// this.add(InitItems.itemBatteryDouble);
// this.add(InitItems.itemBatteryTriple);
// this.add(InitItems.itemBatteryQuadruple);
// this.add(InitItems.itemBatteryQuintuple);
// this.add(InitItems.itemTeleStaff);
// this.add(InitItems.itemFillingWand);
//
// this.add(InitItems.itemGrowthRing);
// this.add(InitItems.itemMagnetRing);
// this.add(InitItems.itemWaterRemovalRing);
//
// this.list.add(FluidUtil.getFilledBucket(new FluidStack(InitFluids.fluidCanolaOil, Fluid.BUCKET_VOLUME)));
// this.list.add(FluidUtil.getFilledBucket(new FluidStack(InitFluids.fluidRefinedCanolaOil, Fluid.BUCKET_VOLUME)));
// this.list.add(FluidUtil.getFilledBucket(new FluidStack(InitFluids.fluidCrystalOil, Fluid.BUCKET_VOLUME)));
// this.list.add(FluidUtil.getFilledBucket(new FluidStack(InitFluids.fluidEmpoweredOil, Fluid.BUCKET_VOLUME)));
//
// this.add(InitItems.itemPhantomConnector);
// this.add(InitItems.itemFilter);
// this.add(InitItems.itemWingsOfTheBats);
//
// this.add(InitItems.itemCoffeeSeed);
// this.add(InitItems.itemCoffeeBean);
// this.add(InitItems.itemRiceSeed);
// this.add(InitItems.itemCanolaSeed);
// this.add(InitItems.itemFlaxSeed);
// this.add(InitItems.itemHairyBall);
// this.add(InitItems.itemMisc);
// this.add(InitItems.itemResonantRice);
// this.add(InitItems.itemFertilizer);
//
// this.add(InitItems.itemCoffee);
// this.add(InitItems.itemFoods);
// this.add(InitItems.itemKnife);
// this.add(InitItems.itemCrafterOnAStick);
// this.add(InitItems.itemDust);
// this.add(InitItems.itemSolidifiedExperience);
// this.add(InitItems.itemLeafBlower);
// this.add(InitItems.itemLeafBlowerAdvanced);
//
// this.add(InitItems.woodenPaxel);
// this.add(InitItems.stonePaxel);
// this.add(InitItems.ironPaxel);
// this.add(InitItems.goldPaxel);
// this.add(InitItems.diamondPaxel);
// this.add(InitItems.emeraldPaxel);
// this.add(InitItems.obsidianPaxel);
// this.add(InitItems.quartzPaxel);
// this.add(InitItems.itemPaxelCrystalRed);
// this.add(InitItems.itemPaxelCrystalBlue);
// this.add(InitItems.itemPaxelCrystalLightBlue);
// this.add(InitItems.itemPaxelCrystalBlack);
// this.add(InitItems.itemPaxelCrystalGreen);
// this.add(InitItems.itemPaxelCrystalWhite);
//
// this.add(InitBlocks.blockCrystalClusterRedstone);
// this.add(InitBlocks.blockCrystalClusterLapis);
// this.add(InitBlocks.blockCrystalClusterDiamond);
// this.add(InitBlocks.blockCrystalClusterCoal);
// this.add(InitBlocks.blockCrystalClusterEmerald);
// this.add(InitBlocks.blockCrystalClusterIron);
// this.add(InitBlocks.blockCrystal);
// this.add(InitBlocks.blockCrystalEmpowered);
// this.add(InitItems.itemCrystal);
// this.add(InitItems.itemCrystalEmpowered);
// this.add(InitItems.itemCrystalShard);
//
// this.add(InitItems.itemJams);
//
// this.add(InitItems.itemPotionRing);
// this.add(InitItems.itemPotionRingAdvanced);
//
// this.add(InitItems.itemPickaxeQuartz);
// this.add(InitItems.itemSwordQuartz);
// this.add(InitItems.itemAxeQuartz);
// this.add(InitItems.itemShovelQuartz);
// this.add(InitItems.itemHoeQuartz);
//
// this.add(InitItems.itemHelmQuartz);
// this.add(InitItems.itemChestQuartz);
// this.add(InitItems.itemPantsQuartz);
// this.add(InitItems.itemBootsQuartz);
//
// this.add(InitItems.itemPickaxeEmerald);
// this.add(InitItems.itemSwordEmerald);
// this.add(InitItems.itemAxeEmerald);
// this.add(InitItems.itemShovelEmerald);
// this.add(InitItems.itemHoeEmerald);
//
// this.add(InitItems.itemHelmEmerald);
// this.add(InitItems.itemChestEmerald);
// this.add(InitItems.itemPantsEmerald);
// this.add(InitItems.itemBootsEmerald);
//
// this.add(InitItems.itemPickaxeObsidian);
// this.add(InitItems.itemSwordObsidian);
// this.add(InitItems.itemAxeObsidian);
// this.add(InitItems.itemShovelObsidian);
// this.add(InitItems.itemHoeObsidian);
//
// this.add(InitItems.itemHelmObsidian);
// this.add(InitItems.itemChestObsidian);
// this.add(InitItems.itemPantsObsidian);
// this.add(InitItems.itemBootsObsidian);
//
// this.add(InitItems.itemPickaxeCrystalRed);
// this.add(InitItems.itemAxeCrystalRed);
// this.add(InitItems.itemShovelCrystalRed);
// this.add(InitItems.itemSwordCrystalRed);
// this.add(InitItems.itemHoeCrystalRed);
// this.add(InitItems.itemHelmCrystalRed);
// this.add(InitItems.itemChestCrystalRed);
// this.add(InitItems.itemPantsCrystalRed);
// this.add(InitItems.itemBootsCrystalRed);
//
// this.add(InitItems.itemPickaxeCrystalBlue);
// this.add(InitItems.itemAxeCrystalBlue);
// this.add(InitItems.itemShovelCrystalBlue);
// this.add(InitItems.itemSwordCrystalBlue);
// this.add(InitItems.itemHoeCrystalBlue);
// this.add(InitItems.itemHelmCrystalBlue);
// this.add(InitItems.itemChestCrystalBlue);
// this.add(InitItems.itemPantsCrystalBlue);
// this.add(InitItems.itemBootsCrystalBlue);
//
// this.add(InitItems.itemPickaxeCrystalLightBlue);
// this.add(InitItems.itemAxeCrystalLightBlue);
// this.add(InitItems.itemShovelCrystalLightBlue);
// this.add(InitItems.itemSwordCrystalLightBlue);
// this.add(InitItems.itemHoeCrystalLightBlue);
// this.add(InitItems.itemHelmCrystalLightBlue);
// this.add(InitItems.itemChestCrystalLightBlue);
// this.add(InitItems.itemPantsCrystalLightBlue);
// this.add(InitItems.itemBootsCrystalLightBlue);
//
// this.add(InitItems.itemPickaxeCrystalBlack);
// this.add(InitItems.itemAxeCrystalBlack);
// this.add(InitItems.itemShovelCrystalBlack);
// this.add(InitItems.itemSwordCrystalBlack);
// this.add(InitItems.itemHoeCrystalBlack);
// this.add(InitItems.itemHelmCrystalBlack);
// this.add(InitItems.itemChestCrystalBlack);
// this.add(InitItems.itemPantsCrystalBlack);
// this.add(InitItems.itemBootsCrystalBlack);
//
// this.add(InitItems.itemPickaxeCrystalGreen);
// this.add(InitItems.itemAxeCrystalGreen);
// this.add(InitItems.itemShovelCrystalGreen);
// this.add(InitItems.itemSwordCrystalGreen);
// this.add(InitItems.itemHoeCrystalGreen);
// this.add(InitItems.itemHelmCrystalGreen);
// this.add(InitItems.itemChestCrystalGreen);
// this.add(InitItems.itemPantsCrystalGreen);
// this.add(InitItems.itemBootsCrystalGreen);
//
// this.add(InitItems.itemPickaxeCrystalWhite);
// this.add(InitItems.itemAxeCrystalWhite);
// this.add(InitItems.itemShovelCrystalWhite);
// this.add(InitItems.itemSwordCrystalWhite);
// this.add(InitItems.itemHoeCrystalWhite);
// this.add(InitItems.itemHelmCrystalWhite);
// this.add(InitItems.itemChestCrystalWhite);
// this.add(InitItems.itemPantsCrystalWhite);
// this.add(InitItems.itemBootsCrystalWhite);
// }
//
// public void add(Item item) {
// if (item != null && (!(item instanceof IDisableableItem) || item instanceof IDisableableItem && !((IDisableableItem) item).isDisabled())) {
// item.getSubItems(INSTANCE, this.list);
// }
// }
//
// public void add(Block block) {
// if (block != null) {
// block.getSubBlocks(INSTANCE, this.list);
// }
// }
//}

View file

@ -17,6 +17,7 @@ import de.ellpeck.actuallyadditions.mod.data.PlayerData;
import de.ellpeck.actuallyadditions.mod.inventory.gui.*;
import de.ellpeck.actuallyadditions.mod.items.ItemBooklet;
import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase;
import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;

View file

@ -97,6 +97,7 @@ public final class ActuallyItems {
public static final RegistryObject<Item> PLAYER_PROBE = ITEMS.register("player_probe", ItemPlayerProbe::new);
public static final RegistryObject<Item> FILTER = ITEMS.register("filter", ItemFilter::new);
public static final RegistryObject<Item> WATER_BOWL = ITEMS.register("water_bowl", ItemWaterBowl::new);
public static final RegistryObject<Item> SPAWNER_CHANGER = ITEMS.register("spawner_changer", ItemSpawnerChanger::new);
public static final RegistryObject<Item> CRATE_KEEPER = ITEMS.register("crate_keeper", () -> new ItemGeneric(defaultProps().stacksTo(1)));
public static final RegistryObject<Item> COLOR_LENS = ITEMS.register("color_lens", () -> new ItemLens(ActuallyAdditionsAPI.lensColor));
public static final RegistryObject<Item> EXPLOSION_LENS = ITEMS.register("explosion_lens", () -> new ItemLens(ActuallyAdditionsAPI.lensDetonation));

View file

@ -17,22 +17,21 @@ import de.ellpeck.actuallyadditions.mod.items.base.ItemToolAA;
import de.ellpeck.actuallyadditions.mod.util.IColorProvidingItem;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.Blocks;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.enchantment.Enchantment;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.IItemTier;
import net.minecraft.item.ItemStack;
import net.minecraft.item.Items;
import net.minecraft.util.ActionResultType;
import net.minecraft.util.Direction;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.Hand;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import java.util.HashSet;
import java.util.Set;
@ -61,7 +60,7 @@ public class ItemAllToolAA extends ItemToolAA implements IColorProvidingItem {
}
@Override
public ActionResultType onItemUse(PlayerEntity playerIn, World worldIn, BlockPos pos, Hand hand, Direction side, float hitX, float hitY, float hitZ) {
public EnumActionResult onItemUse(PlayerEntity playerIn, World worldIn, BlockPos pos, Hand hand, Direction side, float hitX, float hitY, float hitZ) {
if (!playerIn.isShiftKeyDown()) {
return Items.IRON_HOE.onItemUse(playerIn, worldIn, pos, hand, side, hitX, hitY, hitZ);
}
@ -104,7 +103,7 @@ public class ItemAllToolAA extends ItemToolAA implements IColorProvidingItem {
@Override
public float getDestroySpeed(ItemStack stack, BlockState state) {
if (state.getBlock() == Blocks.COBWEB) {
if (state.getBlock() == Blocks.WEB) {
return 15.0F;
} else {
return this.hasExtraWhitelist(state.getBlock()) || state.getBlock().getHarvestTool(state) == null || state.getBlock().getHarvestTool(state).isEmpty() || this.getToolClasses(stack).contains(state.getBlock().getHarvestTool(state))

View file

@ -57,7 +57,8 @@ public class ItemDrill extends ItemEnergy {
private static final int ENERGY_USE = 100;
public ItemDrill() {
super(ActuallyItems.defaultProps().defaultDurability(0).stacksTo(1), 250000, 1000);
super(250000, 1000, name);
this.setMaxDamage(0);
this.setHasSubtypes(true);
this.setHarvestLevel("shovel", HARVEST_LEVEL);
this.setHarvestLevel("pickaxe", HARVEST_LEVEL);
@ -239,7 +240,6 @@ public class ItemDrill extends ItemEnergy {
@Override
public boolean canHarvestBlock(ItemStack stack, BlockState state) {
Block block = state.getBlock();
return this.getEnergyStored(stack) >= this.getEnergyUsePerBlock(stack) && (this.hasExtraWhitelist(block) || state.getMaterial().isToolNotRequired() || block == Blocks.SNOW_LAYER || block == Blocks.SNOW || (block == Blocks.OBSIDIAN
? HARVEST_LEVEL >= 3
: block != Blocks.DIAMOND_BLOCK && block != Blocks.DIAMOND_ORE
@ -247,7 +247,7 @@ public class ItemDrill extends ItemEnergy {
? block != Blocks.GOLD_BLOCK && block != Blocks.GOLD_ORE
? block != Blocks.IRON_BLOCK && block != Blocks.IRON_ORE
? block != Blocks.LAPIS_BLOCK && block != Blocks.LAPIS_ORE
? block != Blocks.REDSTONE_ORE
? block != Blocks.REDSTONE_ORE && block != Blocks.LIT_REDSTONE_ORE
? state.getMaterial() == Material.STONE || state.getMaterial() == Material.METAL || state.getMaterial() == Material.HEAVY_METAL
: HARVEST_LEVEL >= 2
: HARVEST_LEVEL >= 1

View file

@ -42,7 +42,7 @@ public class ItemPickaxeAA extends ItemToolAA {
if (block != Blocks.GOLD_BLOCK && block != Blocks.GOLD_ORE) {
if (block != Blocks.IRON_BLOCK && block != Blocks.IRON_ORE) {
if (block != Blocks.LAPIS_BLOCK && block != Blocks.LAPIS_ORE) {
if (block != Blocks.REDSTONE_ORE) {
if (block != Blocks.REDSTONE_ORE && block != Blocks.LIT_REDSTONE_ORE) {
Material material = blockIn.getMaterial();
return material == Material.STONE || material == Material.METAL || material == Material.HEAVY_METAL;
} else {

View file

@ -20,10 +20,14 @@ import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import de.ellpeck.actuallyadditions.mod.util.Util;
import net.minecraft.client.renderer.color.IItemColor;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.item.EnumRarity;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.AxisAlignedBB;

View file

@ -48,11 +48,6 @@ public abstract class ItemEnergy extends ItemBase {
this.maxPower = maxPower;
this.transfer = transfer;
}
public ItemEnergy(Properties props, int maxPower, int transfer) {
super(props);
this.maxPower = maxPower;
this.transfer = transfer;
}
// TODO: [port] make sure this is right
@Nullable

View file

@ -16,8 +16,10 @@ import de.ellpeck.actuallyadditions.mod.util.ItemUtil;
import de.ellpeck.actuallyadditions.mod.util.StackUtil;
import de.ellpeck.actuallyadditions.mod.util.StringUtil;
import net.minecraft.block.Block;
import net.minecraft.item.*;
import net.minecraft.tags.ITag;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ToolItem;
import net.minecraftforge.common.IRarity;
import net.minecraftforge.oredict.OreDictionary;
import java.util.Set;
@ -25,10 +27,10 @@ public class ItemToolAA extends ToolItem implements IDisableableItem {
private final String name;
private final ItemStack repairItem;
private final ITag<Item> repairTag;
private String repairOredict;
private final boolean disabled;
public ItemToolAA(float attack, float speed, IItemTier toolMat, String repairItem, String unlocalizedName, Rarity rarity, Set<Block> effectiveStuff) {
public ItemToolAA(float attack, float speed, ToolMaterial toolMat, String repairItem, String unlocalizedName, IRarity rarity, Set<Block> effectiveStuff) {
this(attack, speed, toolMat, ItemStack.EMPTY, unlocalizedName, rarity, effectiveStuff);
this.repairOredict = repairItem;
}
@ -52,8 +54,13 @@ public class ItemToolAA extends ToolItem implements IDisableableItem {
public boolean isValidRepairItem(ItemStack itemToRepair, ItemStack stack) {
if (StackUtil.isValid(this.repairItem)) {
return ItemUtil.areItemsEqual(this.repairItem, stack, false);
} else if (this.repairTag != null) {
return repairTag.contains(stack.getItem());
} else if (this.repairOredict != null) {
int[] idsStack = OreDictionary.getOreIDs(stack);
for (int id : idsStack) {
if (OreDictionary.getOreName(id).equals(this.repairOredict)) {
return true;
}
}
}
return false;
}

View file

@ -12,7 +12,6 @@ package de.ellpeck.actuallyadditions.mod.tile;
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
import de.ellpeck.actuallyadditions.api.recipe.OilGenRecipe;
import de.ellpeck.actuallyadditions.mod.blocks.ActuallyBlocks;
import de.ellpeck.actuallyadditions.mod.config.values.ConfigIntListValues;
import de.ellpeck.actuallyadditions.mod.inventory.ContainerOilGenerator;
import de.ellpeck.actuallyadditions.mod.util.Util;
@ -79,7 +78,7 @@ public class TileEntityOilGenerator extends TileEntityBase implements ISharingEn
private int lastCompare;
public TileEntityOilGenerator() {
super(ActuallyBlocks.OIL_GENERATOR.getTileEntityType());
super(ActuallyTiles.OILGENERATOR_TILE.get());
}
private static OilGenRecipe getRecipeForFluid(String fluidName) {

View file

@ -25,7 +25,7 @@ public class AABlockReg<B extends Block, I extends Item, T extends TileEntity> i
this.name = name;
this.block = ActuallyBlocks.BLOCKS.register(name, blockSupplier);
this.item = ActuallyItems.ITEMS.register(name, () -> itemSupplier.apply(block.get()));
this.tileEntityType = ActuallyBlocks.TILES.register(name, () -> TileEntityType.Builder.of(tileSupplier, block.get()).build(null));
this.tileEntityType = ActuallyBlocks.TILES.register(name, () -> TileEntityType.Builder.create(tileSupplier, block.get()).build(null));
}
public AABlockReg(String name, Supplier<B> blockSupplier, Function<B, I> itemSupplier) {
this.name = name;