TechReborn/src/main/java/techreborn/compat/crafttweaker/CTAssemblingMachine.java

70 lines
2.6 KiB
Java
Raw Normal View History

/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
2018-02-11 15:08:08 +01:00
* Copyright (c) 2018 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
2017-03-14 13:59:17 +01:00
package techreborn.compat.crafttweaker;
2017-06-28 21:50:00 +02:00
import crafttweaker.CraftTweakerAPI;
import crafttweaker.api.item.IIngredient;
import crafttweaker.api.item.IItemStack;
import stanhebben.zenscript.annotations.ZenClass;
import stanhebben.zenscript.annotations.ZenMethod;
import techreborn.api.Reference;
2016-10-08 21:46:16 +02:00
import techreborn.api.recipe.machines.AssemblingMachineRecipe;
@ZenClass("mods.techreborn.assemblingMachine")
2017-03-14 13:59:17 +01:00
public class CTAssemblingMachine extends CTGeneric {
2016-10-08 21:46:16 +02:00
@ZenMethod
@ZenDocumentation("IItemStack output, IIngredient input1, IIngredient input2, int ticktime, int euTick")
public static RecipeSettings addRecipe(IItemStack output, IIngredient input1, IIngredient input2, int ticktime, int euTick) {
Object oInput1 = CraftTweakerCompat.toObject(input1);
Object oInput2 = CraftTweakerCompat.toObject(input2);
2015-11-21 09:54:26 +01:00
2017-03-14 13:59:17 +01:00
AssemblingMachineRecipe r = new AssemblingMachineRecipe(oInput1, oInput2, CraftTweakerCompat.toStack(output), ticktime, euTick);
2015-11-08 13:15:45 +01:00
2016-10-08 21:46:16 +02:00
addRecipe(r);
return new RecipeSettings(r);
2016-10-08 21:46:16 +02:00
}
2015-11-21 09:54:26 +01:00
2016-10-08 21:46:16 +02:00
@ZenMethod
public static void removeInputRecipe(IIngredient iIngredient) {
2017-06-28 21:50:00 +02:00
CraftTweakerAPI.apply(new RemoveInput(iIngredient, getMachineName()));
2016-10-08 21:46:16 +02:00
}
2015-11-21 09:54:26 +01:00
2016-10-08 21:46:16 +02:00
@ZenMethod
public static void removeRecipe(IItemStack output) {
2017-06-28 21:50:00 +02:00
CraftTweakerAPI.apply(new Remove(CraftTweakerCompat.toStack(output), getMachineName()));
2016-10-08 21:46:16 +02:00
}
@ZenMethod
public static void removeAll(){
CraftTweakerAPI.apply(new RemoveAll(getMachineName()));
}
2015-11-08 13:15:45 +01:00
2016-10-08 21:46:16 +02:00
public static String getMachineName() {
2018-03-05 12:45:23 +01:00
return Reference.ASSEMBLING_MACHINE_RECIPE;
2016-10-08 21:46:16 +02:00
}
2015-11-08 13:15:45 +01:00
}