0.18.6.1
This commit is contained in:
@@ -1,136 +0,0 @@
|
||||
import native.net.minecraft.item.Item;
|
||||
import native.net.minecraft.item.ItemStack;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.command.ICommandSender;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.MachineTickEvent;
|
||||
import mods.modularmachinery.RecipeStartEvent;
|
||||
import mods.modularmachinery.MMEvents;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
import crafttweaker.world.IFacing;
|
||||
import crafttweaker.util.Position3f;
|
||||
|
||||
import crafttweaker.player.IPlayer;
|
||||
import crafttweaker.block.IBlock;
|
||||
import crafttweaker.data.IData;
|
||||
import native.erebus.entity.EntityAnimatedBlock;
|
||||
|
||||
// Shared code
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
static offset as Util.Offset = Util.Offset(0, 0);
|
||||
|
||||
var lumber_bee_special = RecipeBuilder.newBuilder("lumber_bee_special", "sacred_cinders_apiary", 60);
|
||||
lumber_bee_special.addItemInput(<forestry:bee_queen_ge>.withTag({Genome: {Chromosomes: [{UID1: "careerbees.lumber", UID0: "careerbees.lumber"}]}})).setChance(0)
|
||||
.addFluidInput(<fluid:liquid_sunshine> * 15)
|
||||
.addItemOutput(<forestry:bee_combs:0>)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
lumberBeeRecipeStart(event.controller);
|
||||
}
|
||||
)
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
|
||||
function lumberBeeRecipeStart(controller as IMachineController) {
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
var posController = offset.getCenter(controller).asPosition3f();
|
||||
var posLumberApiary = offset.getCenter(controller).asPosition3f();
|
||||
var posLog = offset.getCenter(controller).asPosition3f();
|
||||
var sender = Util.getControllerSender(controller);
|
||||
var facing = controller.facing;
|
||||
var dx = 0;
|
||||
var dz = 0;
|
||||
var dy1 = 2;
|
||||
var dy2 = 5;
|
||||
if (facing == crafttweaker.world.IFacing.north()){
|
||||
dz = 2;
|
||||
}
|
||||
if (facing == crafttweaker.world.IFacing.south()){
|
||||
dz = -2;
|
||||
}
|
||||
if (facing == crafttweaker.world.IFacing.east()){
|
||||
dx = -2;
|
||||
}
|
||||
if (facing == crafttweaker.world.IFacing.west()){
|
||||
dx = 2;
|
||||
}
|
||||
posLumberApiary.x = posController.x + dx;
|
||||
posLumberApiary.z = posController.z + dz;
|
||||
posLumberApiary.y = posController.y + dy1;
|
||||
//server.commandManager.executeCommand(sender, "say " + posLumberApiary.x + " " + posLumberApiary.y + " " + posLumberApiary.z);
|
||||
var currentApiary = controller.world.getBlock(posLumberApiary).definition.id as string;
|
||||
if (currentApiary == "contenttweaker:sacred_cinders_lumber_apiary"){
|
||||
posLog.x = posController.x + dx;
|
||||
posLog.y = posController.y + dy2;
|
||||
posLog.z = posController.z + dz;
|
||||
var currentLogID = controller.world.getBlock(posLog).definition.id as string;
|
||||
var currentLogMeta = controller.world.getBlock(posLog).meta;
|
||||
if ((currentLogID == "twilightforest:magic_log") && (currentLogMeta == 2)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"twilightforest:magic_log\",Count:1b,Damage:2s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"twilightforest:magic_log\",Count:1b,Damage:2s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"twilightforest:magic_log\",Count:1b,Damage:2s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"twilightforest:magic_log\",Count:1b,Damage:2s}}}}");
|
||||
}
|
||||
if ((currentLogID == "divinerpg:mortum_log") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"divinerpg:mortum_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"divinerpg:mortum_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"divinerpg:mortum_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"divinerpg:mortum_log\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
if ((currentLogID == "aoa3:shyre_log") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:shyre_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:shyre_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:shyre_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:shyre_log\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
if ((currentLogID == "bewitchment:dragons_blood_wood") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"bewitchment:dragons_blood_wood\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"bewitchment:dragons_blood_wood\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"bewitchment:dragons_blood_wood\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"bewitchment:dragons_blood_wood\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
if ((currentLogID == "thaumcraft:log_silverwood") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"thaumcraft:log_silverwood\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"thaumcraft:log_silverwood\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"thaumcraft:log_silverwood\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"thaumcraft:log_silverwood\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
if ((currentLogID == "aether_legacy:aether_log") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aether_legacy:aether_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aether_legacy:aether_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aether_legacy:aether_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aether_legacy:aether_log\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
if ((currentLogID == "extratrees:logs.2") && (currentLogMeta == 1)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.2\",Count:1b,Damage:1s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.2\",Count:1b,Damage:1s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.2\",Count:1b,Damage:1s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.2\",Count:1b,Damage:1s}}}}");
|
||||
}
|
||||
if ((currentLogID == "extratrees:logs.9") && (currentLogMeta == 3)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.9\",Count:1b,Damage:3s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.9\",Count:1b,Damage:3s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.9\",Count:1b,Damage:3s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"extratrees:logs.9\",Count:1b,Damage:3s}}}}");
|
||||
}
|
||||
if ((currentLogID == "erebus:log_aucalyptus") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"erebus:log_aucalyptus\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"erebus:log_aucalyptus\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"erebus:log_aucalyptus\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"erebus:log_aucalyptus\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
if ((currentLogID == "aoa3:haunted_log") && (currentLogMeta == 0)){
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:haunted_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z + 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:haunted_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x + 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:haunted_log\",Count:1b,Damage:0s}}}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posLog.x - 1) + " " + (posLog.y) + " " + (posLog.z - 1) + " {Item:{id:\"careerbees:ingredients\",Count:4b,Damage:1s,tag:{bark:{id:\"aoa3:haunted_log\",Count:1b,Damage:0s}}}}");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,58 +0,0 @@
|
||||
import native.net.minecraft.item.Item;
|
||||
import native.net.minecraft.item.ItemStack;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.command.ICommandSender;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.MachineTickEvent;
|
||||
import mods.modularmachinery.RecipeStartEvent;
|
||||
import mods.modularmachinery.MMEvents;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
import crafttweaker.world.IFacing;
|
||||
import crafttweaker.util.Position3f;
|
||||
|
||||
|
||||
|
||||
// Shared code
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
static offset as Util.Offset = Util.Offset(2, 0);
|
||||
|
||||
|
||||
var nukeenvironmentboom = RecipeBuilder.newBuilder("nukeenvironmentboom","safe_nuke_environment",500);
|
||||
nukeenvironmentboom.addStartHandler(function(event as RecipeStartEvent) {
|
||||
NukeEnvironmentRecipeStart(event.controller, "techreborn:nuke");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip([" "," "," ","All fluids inside the volume of the multiblock","that have a valid recipe will be converted ","after a nuke is placed below the controller"])
|
||||
.build();
|
||||
|
||||
|
||||
// "techreborn:nuke", "contenttweaker:polonium_molten", "contenttweaker:areated_molten_californium_250", "contenttweaker:unholy_nuke_catalyst", "contenttweaker:californium_256", "contenttweaker:cold_plasma"
|
||||
|
||||
|
||||
|
||||
function NukeEnvironmentRecipeStart(controller as IMachineController, explosiveBlock as string) {
|
||||
var pos = offset.getCenter(controller).asPosition3f();
|
||||
var posOffset = offset.getCenter(controller).asPosition3f();
|
||||
posOffset.y = pos.y - 3;
|
||||
var sender = Util.getControllerSender(controller);
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
|
||||
var currentBoomBlock = controller.world.getBlockState(posOffset);
|
||||
//server.commandManager.executeCommand(sender, "say controller position: " + (pos.x) + " " + (pos.y) + " " + (pos.z) + " ");
|
||||
//server.commandManager.executeCommand(sender, "say nuke position: " + (posOffset.x) + " " + (posOffset.y) + " " + (posOffset.z) + " ");
|
||||
if (currentBoomBlock == IBlockState.getBlockState(explosiveBlock,"")) {
|
||||
server.commandManager.executeCommand(sender, "fill " + (posOffset.x - 2) + " " + (posOffset.y - 2) + " " + (posOffset.z - 2) + " " + (posOffset.x + 2) + " " + (posOffset.y + 2) + " " + (posOffset.z + 2) + " " + "air" + " 0 replace " + "techreborn:nuke");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posOffset.x - 2) + " " + (posOffset.y - 6) + " " + (posOffset.z - 2) + " " + (posOffset.x + 2) + " " + (posOffset.y) + " " + (posOffset.z + 2) + " " + "contenttweaker:californium_256" + " 0 replace " + "contenttweaker:polonium_molten 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posOffset.x - 2) + " " + (posOffset.y - 6) + " " + (posOffset.z - 2) + " " + (posOffset.x + 2) + " " + (posOffset.y) + " " + (posOffset.z + 2) + " " + "contenttweaker:californium_256" + " 0 replace " + "contenttweaker:areated_molten_californium_250 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posOffset.x - 2) + " " + (posOffset.y - 6) + " " + (posOffset.z - 2) + " " + (posOffset.x + 2) + " " + (posOffset.y) + " " + (posOffset.z + 2) + " " + "contenttweaker:cold_plasma" + " 0 replace " + "contenttweaker:unholy_nuke_catalyst 0");
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:block.end_portal.spawn block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1");
|
||||
server.commandManager.executeCommand(sender, "particle hugeexplosion " + pos.x + " " + (pos.y - 3) + " " + pos.z + " 1 1 1 0.1 1000");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
import crafttweaker.liquid.ILiquidStack;
|
||||
import crafttweaker.item.IItemStack;
|
||||
import crafttweaker.player.IPlayer;
|
||||
import crafttweaker.text.ITextComponent;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.RecipeCheckEvent;
|
||||
import mods.modularmachinery.RecipeFinishEvent;
|
||||
|
||||
import scripts.advancedModulars.experience.XPConfigurator as Configurator;
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
// Crafting recipes
|
||||
recipes.addShaped(<forge:bucketfilled>.withTag({FluidName: "bewitched_essence_salts", Amount: 1000}),
|
||||
[[<contenttweaker:salt_of_knowledge>, <contenttweaker:imp_skin>, <contenttweaker:salt_of_knowledge>],
|
||||
[<contenttweaker:imp_skin>, <forge:bucketfilled>.withTag({FluidName: "mana", Amount: 1000}), <contenttweaker:imp_skin>],
|
||||
[<contenttweaker:salt_of_knowledge>, <contenttweaker:imp_skin>, <contenttweaker:salt_of_knowledge>]]);
|
||||
|
||||
recipes.addShaped(Configurator.withMode(1),
|
||||
[[<actuallyadditions:item_solidified_experience>, <actuallyadditions:item_solidified_experience>, <actuallyadditions:item_solidified_experience>],
|
||||
[<actuallyadditions:item_solidified_experience>, <enderio:item_yeta_wrench>, <actuallyadditions:item_solidified_experience>],
|
||||
[<actuallyadditions:item_solidified_experience>, <actuallyadditions:item_solidified_experience>, <actuallyadditions:item_solidified_experience>]]);
|
||||
|
||||
// Item machine recipes
|
||||
var xpSolidified = buildItemRecipes(<actuallyadditions:item_solidified_experience>, "xp_solidified", 8);
|
||||
var xpOverworldian = buildItemRecipes(<deepmoblearning:living_matter_overworldian>, "xp_overworldian", 10);
|
||||
var xpHellish = buildItemRecipes(<deepmoblearning:living_matter_hellish>, "xp_hellish", 14);
|
||||
var xpExtraterrestrial = buildItemRecipes(<deepmoblearning:living_matter_extraterrestrial>, "xp_extraterrestrial", 20);
|
||||
var xpTwilight = buildItemRecipes(<deepmoblearning:living_matter_twilight>, "xp_twilight", 30);
|
||||
var xpBeeEssence = buildItemRecipes(<contenttweaker:condensed_essence>, "xp_bee_essence", 1000);
|
||||
|
||||
// Fluid machine recipes
|
||||
var xpCyclic = buildFluidRecipes(<fluid:xpjuice>, "xp_cyclic", 50);
|
||||
var xpIndustrialForegoing = buildFluidRecipes(<fluid:essence>, "xp_industrial_foregoing", 50);
|
||||
var xpThermal = buildFluidRecipes(<fluid:experience>, "xp_thermal", 50);
|
||||
|
||||
// Recipe builders
|
||||
function buildItemRecipes(stack as IItemStack, baseName as string, baseXP as int) {
|
||||
for mode in Configurator.modes {
|
||||
var xp = baseXP * mode;
|
||||
var itemXPRecipe = RecipeBuilder.newBuilder(`${baseName}_${mode}x`, "xp_assimilator", 5);
|
||||
itemXPRecipe.addItemInput(stack * mode)
|
||||
.addItemInput(Configurator.withMode(mode))
|
||||
.setChance(0.0)
|
||||
.addPostCheckHandler(function(event as RecipeCheckEvent) {
|
||||
checkForPlayer(event);
|
||||
}
|
||||
)
|
||||
.addFinishHandler(function(event as RecipeFinishEvent) {
|
||||
giveXPToNearest(event.controller, xp);
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(ITextComponent.fromTranslation("tile.modularmachinery.xp_assimilator.desc", [xp]).formattedText)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
||||
function buildFluidRecipes(stack as ILiquidStack, baseName as string, baseXP as int) {
|
||||
var xp = baseXP;
|
||||
var fluidXPRecipe = RecipeBuilder.newBuilder(`${baseName}`, "xp_assimilator", 5);
|
||||
fluidXPRecipe.addFluidInput(stack * 1000)
|
||||
.addPostCheckHandler(function(event as RecipeCheckEvent) {
|
||||
checkForPlayer(event);
|
||||
}
|
||||
)
|
||||
.addFinishHandler(function(event as RecipeFinishEvent) {
|
||||
giveXPToNearest(event.controller, xp);
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(ITextComponent.fromTranslation("tile.modularmachinery.xp_assimilator.desc", [xp]).formattedText)
|
||||
.build();
|
||||
}
|
||||
|
||||
// Recipe logic
|
||||
function checkForPlayer(event as RecipeCheckEvent) as void {
|
||||
var pos = event.controller.pos;
|
||||
// I think this is thread safe: doesn't modify world state and MMCE's task executor spins the main thread (?) during execution
|
||||
var player = event.controller.world.getClosestPlayer(pos.x, pos.y, pos.z, 2, false) as IPlayer;
|
||||
if (isNull(player)) {
|
||||
var failureText = ITextComponent.fromTranslation("tile.modularmachinery.xp_assimilator.failure").formattedText;
|
||||
event.setFailed(failureText);
|
||||
}
|
||||
}
|
||||
|
||||
function giveXPToNearest(controller as IMachineController, xp as int) {
|
||||
var sender = Util.getControllerSender(controller);
|
||||
var pos = controller.pos;
|
||||
var command = `xp ${xp} @p[x=${pos.x},y=${pos.y},z=${pos.z}]`;
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
server.commandManager.executeCommand(sender, command);
|
||||
});
|
||||
}
|
||||
@@ -1,69 +0,0 @@
|
||||
#priority 10
|
||||
|
||||
import crafttweaker.data.IData;
|
||||
import crafttweaker.item.IItemStack;
|
||||
import crafttweaker.text.ITextComponent;
|
||||
|
||||
static modes as int[] = [1, 64, 256, 1024];
|
||||
|
||||
<cotItem:experience_configurator>.itemRightClick = function(itemStack, world, player, hand) {
|
||||
if (world.remote) {
|
||||
return "PASS";
|
||||
}
|
||||
if (hand == "MAIN_HAND") {
|
||||
var nbt as IData = itemStack.tag;
|
||||
var newNBT as IData = {};
|
||||
if (isNull(nbt) || isNull(nbt.mode)) {
|
||||
// Set the default mode
|
||||
newNBT = {
|
||||
mode: modes[0] as int
|
||||
} as IData;
|
||||
} else if (!isNull(nbt.mode)) {
|
||||
// Cycle the mode
|
||||
newNBT = {
|
||||
mode: cycle(nbt.mode)
|
||||
} as IData;
|
||||
}
|
||||
// Update the mode
|
||||
(itemStack as IItemStack).mutable().withTag(newNBT);
|
||||
|
||||
var text = ITextComponent.fromTranslation("chat.contenttweaker.xp_configurator.mode", newNBT.mode);
|
||||
text.style.color = "LIGHT_PURPLE";
|
||||
player.sendRichTextStatusMessage(text, true);
|
||||
return "SUCCESS";
|
||||
}
|
||||
return "PASS";
|
||||
};
|
||||
<contenttweaker:experience_configurator>.addTooltip(ITextComponent.fromTranslation("item.contenttweaker.xp_configurator.desc").formattedText);
|
||||
<contenttweaker:experience_configurator>.addAdvancedTooltip(function(item) {
|
||||
var nbt = item.tag;
|
||||
if (!(isNull(nbt) || isNull(nbt.mode))) {
|
||||
var text = ITextComponent.fromTranslation("chat.contenttweaker.xp_configurator.mode", nbt.mode);
|
||||
text.style.color = "LIGHT_PURPLE";
|
||||
return text.formattedText;
|
||||
}
|
||||
return null;
|
||||
});
|
||||
|
||||
function cycle(currentMode as int) as int {
|
||||
for i in 0 to modes.length {
|
||||
if (modes[i] == currentMode) {
|
||||
return modes[(i + 1) % modes.length];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function withMode(modeIn as int) as IItemStack {
|
||||
var nbt = {
|
||||
mode: "Invalid mode, please report this bug!"
|
||||
} as IData;
|
||||
for mode in modes {
|
||||
if (modeIn == mode) {
|
||||
nbt = {
|
||||
mode: modeIn
|
||||
} as IData;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return <contenttweaker:experience_configurator>.withTag(nbt);
|
||||
}
|
||||
@@ -1,68 +0,0 @@
|
||||
import native.net.minecraft.item.Item;
|
||||
import native.net.minecraft.item.ItemStack;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.command.ICommandSender;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.MachineTickEvent;
|
||||
import mods.modularmachinery.RecipeStartEvent;
|
||||
import mods.modularmachinery.MMEvents;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
import crafttweaker.world.IFacing;
|
||||
import crafttweaker.util.Position3f;
|
||||
|
||||
|
||||
|
||||
// Shared code
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
static offset as Util.Offset = Util.Offset(2, 0);
|
||||
|
||||
|
||||
var megeliumboomdraconium = RecipeBuilder.newBuilder("megeliumboomdraconium","megelium_detonator",200);
|
||||
megeliumboomdraconium.addBiomeInput("minecraft:sky")
|
||||
.addEnergyPerTickInput(2000000000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
megeliumDetonatorRecipeStart(event.controller, "aoa3:ancient_rock", "bnkrblks:megelium_stone");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip([" "," "," ","Ancient Rock blocks placed around the Reactor Core ","will be converted to megelium through a reactor explosion ","The explosion will be toggled if the correct block","is placed on top of the core"])
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function megeliumDetonatorRecipeStart(controller as IMachineController, initialBlock as string, finalBlock as string) {
|
||||
var posunshifted = offset.getCenter(controller).asPosition3f();
|
||||
var pos = offset.getCenter(controller).asPosition3f();
|
||||
var posCenter = offset.getCenter(controller).asPosition3f();
|
||||
pos.y = posunshifted.y + 9;
|
||||
posCenter.y = pos.y - 1;
|
||||
var sender = Util.getControllerSender(controller);
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
var currentBoomBlock = controller.world.getBlockState(pos);
|
||||
|
||||
if (currentBoomBlock == IBlockState.getBlockState(initialBlock,"")) {
|
||||
replaceBoomBlock(controller, initialBlock, finalBlock, pos, sender);
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:block.end_portal.spawn block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1");
|
||||
server.commandManager.executeCommand(sender, "particle hugeexplosion " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// replace blocks around reactor
|
||||
function replaceBoomBlock(controller as IMachineController, initialBlock as string, finalBlock as string, pos as IBlockPos, sender as ICommandSender) {
|
||||
var facing = controller.facing;
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y - 1) + " " + (pos.z - 1) + " " + (pos.x + 1) + " " + (pos.y + 1) + " " + (pos.z + 1) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x + 2) + " " + (pos.y - 1) + " " + (pos.z - 1) + " " + (pos.x + 2) + " " + (pos.y + 1) + " " + (pos.z + 1) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 2) + " " + (pos.y - 1) + " " + (pos.z - 1) + " " + (pos.x - 2) + " " + (pos.y + 1) + " " + (pos.z + 1) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y + 2) + " " + (pos.z - 1) + " " + (pos.x + 1) + " " + (pos.y + 2) + " " + (pos.z + 1) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y - 2) + " " + (pos.z - 1) + " " + (pos.x + 1) + " " + (pos.y - 2) + " " + (pos.z + 1) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y - 1) + " " + (pos.z - 2) + " " + (pos.x + 1) + " " + (pos.y + 1) + " " + (pos.z - 2) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y - 1) + " " + (pos.z + 2) + " " + (pos.x + 1) + " " + (pos.y + 1) + " " + (pos.z + 2) + " " + finalBlock + " 0 replace " + initialBlock);
|
||||
}
|
||||
@@ -1,265 +0,0 @@
|
||||
#loader contenttweaker
|
||||
import native.net.minecraft.util.math.BlockPos;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.player.IPlayer;
|
||||
import crafttweaker.text.ITextComponent;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.contenttweaker.Commands;
|
||||
import mods.contenttweaker.VanillaFactory;
|
||||
import mods.zenutils.cotx.Block;
|
||||
|
||||
# Bee stargate portals
|
||||
var sednaportal = VanillaFactory.createExpandBlock("sedna_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(sednaportal);
|
||||
setPortalLogic(sednaportal, 147, true);
|
||||
sednaportal.register();
|
||||
|
||||
var rheniaportal = VanillaFactory.createExpandBlock("rhenia_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(rheniaportal);
|
||||
setPortalLogic(rheniaportal, 163, true);
|
||||
rheniaportal.register();
|
||||
|
||||
var haumeaportal = VanillaFactory.createExpandBlock("haumea_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(haumeaportal);
|
||||
setPortalLogic(haumeaportal, 146, true);
|
||||
haumeaportal.register();
|
||||
|
||||
var lunaportal = VanillaFactory.createExpandBlock("luna_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(lunaportal);
|
||||
setPortalLogic(lunaportal, 145, true);
|
||||
lunaportal.register();
|
||||
|
||||
var osirisportal = VanillaFactory.createExpandBlock("osiris_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(osirisportal);
|
||||
setPortalLogic(osirisportal, 148, true);
|
||||
osirisportal.register();
|
||||
|
||||
var ptahportal = VanillaFactory.createExpandBlock("ptah_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(ptahportal);
|
||||
setPortalLogic(ptahportal, 149, true);
|
||||
ptahportal.register();
|
||||
|
||||
var hatorportal = VanillaFactory.createExpandBlock("hator_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(hatorportal);
|
||||
setPortalLogic(hatorportal, 150, true);
|
||||
hatorportal.register();
|
||||
|
||||
var europaportal = VanillaFactory.createExpandBlock("europa_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(europaportal);
|
||||
setPortalLogic(europaportal, 151, true);
|
||||
europaportal.register();
|
||||
|
||||
var oiportal = VanillaFactory.createExpandBlock("oi_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(oiportal);
|
||||
setPortalLogic(oiportal, 152, true);
|
||||
oiportal.register();
|
||||
|
||||
var falacerportal = VanillaFactory.createExpandBlock("falacer_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(falacerportal);
|
||||
setPortalLogic(falacerportal, 160, true);
|
||||
falacerportal.register();
|
||||
|
||||
var orcusportal = VanillaFactory.createExpandBlock("orcus_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(orcusportal);
|
||||
setPortalLogic(orcusportal, 161, true);
|
||||
orcusportal.register();
|
||||
|
||||
var myrmexportal = VanillaFactory.createExpandBlock("myrmex_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(myrmexportal);
|
||||
setPortalLogic(myrmexportal, 164, true);
|
||||
myrmexportal.register();
|
||||
|
||||
var pixoniaportal = VanillaFactory.createExpandBlock("pixonia_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(pixoniaportal);
|
||||
setPortalLogic(pixoniaportal, 165, true);
|
||||
pixoniaportal.register();
|
||||
|
||||
var proximaportal = VanillaFactory.createExpandBlock("proxima_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(proximaportal);
|
||||
setPortalLogic(proximaportal, 166, true);
|
||||
proximaportal.register();
|
||||
|
||||
var neroportal = VanillaFactory.createExpandBlock("nero_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(neroportal);
|
||||
setPortalLogic(neroportal, 170, true);
|
||||
neroportal.register();
|
||||
|
||||
var zoiportal = VanillaFactory.createExpandBlock("zoi_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(zoiportal);
|
||||
setPortalLogic(zoiportal, 171, true);
|
||||
zoiportal.register();
|
||||
|
||||
var akathartosportal = VanillaFactory.createExpandBlock("akathartos_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(akathartosportal);
|
||||
setPortalLogic(akathartosportal, 172, true);
|
||||
akathartosportal.register();
|
||||
|
||||
var pauramportal = VanillaFactory.createExpandBlock("pauram_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(pauramportal);
|
||||
setPortalLogic(pauramportal, 173, true);
|
||||
pauramportal.register();
|
||||
|
||||
var alkemiaportal = VanillaFactory.createExpandBlock("alkemia_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(alkemiaportal);
|
||||
setPortalLogic(alkemiaportal, 174, true);
|
||||
alkemiaportal.register();
|
||||
|
||||
|
||||
# Wormhole generator portals
|
||||
var taerrapiattaportal = VanillaFactory.createExpandBlock("taerrapiatta_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(taerrapiattaportal);
|
||||
setPortalLogic(taerrapiattaportal, 180, false);
|
||||
taerrapiattaportal.register();
|
||||
|
||||
var diamerismaportal = VanillaFactory.createExpandBlock("diamerisma_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(diamerismaportal);
|
||||
setPortalLogic(diamerismaportal, 181, false);
|
||||
diamerismaportal.register();
|
||||
|
||||
var furattoportal = VanillaFactory.createExpandBlock("furatto_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(furattoportal);
|
||||
setPortalLogic(furattoportal, 182, false);
|
||||
furattoportal.register();
|
||||
|
||||
var finemportal = VanillaFactory.createExpandBlock("finem_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(finemportal);
|
||||
setPortalLogic(finemportal, 185, false);
|
||||
finemportal.register();
|
||||
|
||||
var apichisiportal = VanillaFactory.createExpandBlock("apichisi_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(apichisiportal);
|
||||
setPortalLogic(apichisiportal, 184, false);
|
||||
apichisiportal.register();
|
||||
|
||||
var lyndenwyrmportal = VanillaFactory.createExpandBlock("lyndenwyrm_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(lyndenwyrmportal);
|
||||
setPortalLogic(lyndenwyrmportal, 162, false);
|
||||
lyndenwyrmportal.register();
|
||||
|
||||
var gallifreyportal = VanillaFactory.createExpandBlock("gallifrey_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(gallifreyportal);
|
||||
setPortalLogic(gallifreyportal, 624, false);
|
||||
gallifreyportal.register();
|
||||
|
||||
|
||||
var homeseekerportal = VanillaFactory.createExpandBlock("homeseeker_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(homeseekerportal);
|
||||
setPortalHomeseeker(homeseekerportal);
|
||||
homeseekerportal.register();
|
||||
|
||||
var homeboundportal = VanillaFactory.createExpandBlock("homebound_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(homeboundportal);
|
||||
setPortalHomebound(homeboundportal);
|
||||
homeboundportal.register();
|
||||
|
||||
var crepuscularportal = VanillaFactory.createExpandBlock("crepuscular_portal_block", <blockmaterial:glass>);
|
||||
setPortalProps(crepuscularportal);
|
||||
setPortalTwilightforest(crepuscularportal);
|
||||
crepuscularportal.register();
|
||||
|
||||
|
||||
function setPortalProps(block as Block) as Block {
|
||||
block.setBlockHardness(-1.0);
|
||||
block.setToolClass("pickaxe");
|
||||
block.setPassable(true);
|
||||
block.setFullBlock(false);
|
||||
block.setLightValue(0.5);
|
||||
block.setBlockLayer("TRANSLUCENT");
|
||||
block.setLightOpacity(0);
|
||||
block.setTranslucent(true);
|
||||
return block;
|
||||
}
|
||||
|
||||
// Based off end portal logic.
|
||||
function setPortalLogic(block as Block, dimId as int, inSpace as bool) as Block {
|
||||
block.onEntityCollidedWithBlock = function(world, pos, state, entity) {
|
||||
if (world.isRemote() || entity.world.time % 20 != 0 || !(entity instanceof IPlayer)) {
|
||||
return;
|
||||
}
|
||||
var player as IPlayer = entity;
|
||||
// CoT type -> native type
|
||||
var blockPos as BlockPos = BlockPos(pos.x, pos.y, pos.z);
|
||||
var entityBB = entity.native.getEntityBoundingBox();
|
||||
// Ugly casting because of CoT types
|
||||
var blockBB = (state as IBlockState).native.getBoundingBox(entity.world.native, blockPos);
|
||||
if (!inSpace || world.getBiome(player.position as IBlockPos).name == "Space") {
|
||||
if (!entity.isRiding && !entity.isBeingRidden && entityBB.intersects(blockBB.offset(blockPos))) {
|
||||
Commands.call(`cofh tpx @s ${dimId}`, player, world, true, true);
|
||||
Commands.call("summon astralsorcery:entitystarburst", player, world, true, true);
|
||||
}
|
||||
} else {
|
||||
var text = ITextComponent.fromTranslation("chat.contenttweaker.stargate.NotInSpace");
|
||||
text.style.color = "RED";
|
||||
player.sendRichTextStatusMessage(text, true);
|
||||
}
|
||||
};
|
||||
return block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// construct special teleport
|
||||
function setPortalHomeseeker(block as Block) as Block {
|
||||
block.onEntityCollidedWithBlock = function(world, pos, state, entity) {
|
||||
if (world.isRemote() || entity.world.time % 20 != 0 || !(entity instanceof IPlayer)) {
|
||||
return;
|
||||
}
|
||||
var player as IPlayer = entity;
|
||||
// CoT type -> native type
|
||||
var blockPos as BlockPos = BlockPos(pos.x, pos.y, pos.z);
|
||||
var entityBB = entity.native.getEntityBoundingBox();
|
||||
// Ugly casting because of CoT types
|
||||
var blockBB = (state as IBlockState).native.getBoundingBox(entity.world.native, blockPos);
|
||||
if (!entity.isRiding && !entity.isBeingRidden && entityBB.intersects(blockBB.offset(blockPos))) {
|
||||
Commands.call("tp @p ~5 ~50 ~5", player, world, true, true);
|
||||
Commands.call("summon Item ~ ~ ~ {Item:{id:\"contenttweaker:shattered_mythic_matter\",Count:1b,Damage:0b}}", player, world, true, true);
|
||||
}
|
||||
};
|
||||
return block;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// construct special teleport
|
||||
function setPortalHomebound(block as Block) as Block {
|
||||
block.onEntityCollidedWithBlock = function(world, pos, state, entity) {
|
||||
if (world.isRemote() || entity.world.time % 20 != 0 || !(entity instanceof IPlayer)) {
|
||||
return;
|
||||
}
|
||||
var player as IPlayer = entity;
|
||||
// CoT type -> native type
|
||||
var blockPos as BlockPos = BlockPos(pos.x, pos.y, pos.z);
|
||||
var entityBB = entity.native.getEntityBoundingBox();
|
||||
// Ugly casting because of CoT types
|
||||
var blockBB = (state as IBlockState).native.getBoundingBox(entity.world.native, blockPos);
|
||||
if (!entity.isRiding && !entity.isBeingRidden && entityBB.intersects(blockBB.offset(blockPos))) {
|
||||
Commands.call("tp @p ~5 ~50 ~5", player, world, true, true);
|
||||
Commands.call("summon twilightforest:knight_phantom ~ ~1 ~ {PersistenceRequired:1,HandItems:[{Count:1,id:\"aoa3:baron_sword\"},{Count:1,id:\"contenttweaker:recursive_mind_shield\"}],HandDropChances:[0.0f,1.0f],ArmorItems:[{},{},{Count:1,id:\"contenttweaker:sentient_meatball_chest\"},{Count:1,id:\"contenttweaker:sentient_meatball\"}],ActiveEffects:[{Id:14,Amplifier:0,Duration:999999,ShowParticles:0b},{Id:24,Amplifier:0,Duration:999999,ShowParticles:0b}],ForgeCaps:{\"twilightforest:cap_shield\":{tempshields:100,permshields:100}},Attributes:[{Name:generic.maxHealth, Base:50000.0},{Name:generic.attackDamage, Base:300.0}],Health:50000f,CustomName:\"Meatball Mind Shield\"}", player, world, true, true);
|
||||
}
|
||||
};
|
||||
return block;
|
||||
}
|
||||
|
||||
|
||||
// construct special teleport
|
||||
function setPortalTwilightforest(block as Block) as Block {
|
||||
block.onEntityCollidedWithBlock = function(world, pos, state, entity) {
|
||||
if (world.isRemote() || entity.world.time % 20 != 0 || !(entity instanceof IPlayer)) {
|
||||
return;
|
||||
}
|
||||
var player as IPlayer = entity;
|
||||
// CoT type -> native type
|
||||
var blockPos as BlockPos = BlockPos(pos.x, pos.y, pos.z);
|
||||
var entityBB = entity.native.getEntityBoundingBox();
|
||||
// Ugly casting because of CoT types
|
||||
var blockBB = (state as IBlockState).native.getBoundingBox(entity.world.native, blockPos);
|
||||
if (!entity.isRiding && !entity.isBeingRidden && entityBB.intersects(blockBB.offset(blockPos))) {
|
||||
Commands.call("tp @p ~ ~20 ~", player, world, true, true);
|
||||
Commands.call("summon aoa3:realmshifter ~4 ~ ~4 {Invulnerable:1,PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:unforgotten_summons\"},{}],HandDropChances:[0.0f,0.0f],CustomName:\"Heir of the Summoned Hero\"}", player, world, true, true);
|
||||
}
|
||||
};
|
||||
return block;
|
||||
}
|
||||
@@ -1,294 +0,0 @@
|
||||
import native.net.minecraft.item.Item;
|
||||
import native.net.minecraft.item.ItemStack;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.command.ICommandSender;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.MachineTickEvent;
|
||||
import mods.modularmachinery.RecipeStartEvent;
|
||||
import mods.modularmachinery.MMEvents;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
|
||||
// Shared code
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
static offset as Util.Offset = Util.Offset(5, -4);
|
||||
var portal = <ore:blockCustomPortal>;
|
||||
portal.addItems([
|
||||
<contenttweaker:sedna_portal_block>,
|
||||
<contenttweaker:rhenia_portal_block>,
|
||||
<contenttweaker:haumea_portal_block>,
|
||||
<contenttweaker:luna_portal_block>,
|
||||
<contenttweaker:osiris_portal_block>,
|
||||
<contenttweaker:ptah_portal_block>,
|
||||
<contenttweaker:hator_portal_block>,
|
||||
<contenttweaker:europa_portal_block>,
|
||||
<contenttweaker:oi_portal_block>,
|
||||
<contenttweaker:falacer_portal_block>,
|
||||
<contenttweaker:orcus_portal_block>,
|
||||
<contenttweaker:myrmex_portal_block>,
|
||||
<contenttweaker:pixonia_portal_block>,
|
||||
<contenttweaker:proxima_portal_block>,
|
||||
<contenttweaker:nero_portal_block>,
|
||||
<contenttweaker:zoi_portal_block>,
|
||||
<contenttweaker:akathartos_portal_block>,
|
||||
<contenttweaker:pauram_portal_block>,
|
||||
<contenttweaker:alkemia_portal_block>
|
||||
]);
|
||||
var tooltip = [
|
||||
"This recipe spawns a portal while active.",
|
||||
"The multiblock needs to be placed in a Space Station.",
|
||||
"To teleport, stand inside the portal."
|
||||
] as string[];
|
||||
|
||||
var stargatesedna = RecipeBuilder.newBuilder("stargate_sedna", "bee_stargate", 100);
|
||||
stargatesedna.addItemInput(<contenttweaker:sedna_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:sedna_portal_block", "Sedna");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargaterhenia = RecipeBuilder.newBuilder("stargate_rhenia", "bee_stargate", 100);
|
||||
stargaterhenia.addItemInput(<contenttweaker:rhenia_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:rhenia_portal_block", "Rhenia");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatehaumea = RecipeBuilder.newBuilder("stargate_haumea", "bee_stargate", 100);
|
||||
stargatehaumea.addItemInput(<contenttweaker:haumea_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:haumea_portal_block", "Haumea");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateluna = RecipeBuilder.newBuilder("stargate_luna", "bee_stargate", 100);
|
||||
stargateluna.addItemInput(<contenttweaker:luna_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:luna_portal_block", "Luna");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateosiris = RecipeBuilder.newBuilder("stargate_osiris", "bee_stargate", 100);
|
||||
stargateosiris.addItemInput(<contenttweaker:osiris_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:osiris_portal_block", "Osiris");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateptah = RecipeBuilder.newBuilder("stargate_ptah", "bee_stargate", 100);
|
||||
stargateptah.addItemInput(<contenttweaker:ptah_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:ptah_portal_block", "Ptah");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatehator = RecipeBuilder.newBuilder("stargate_hator", "bee_stargate", 100);
|
||||
stargatehator.addItemInput(<contenttweaker:hator_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:hator_portal_block", "Hator");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateeuropa = RecipeBuilder.newBuilder("stargate_europa", "bee_stargate", 100);
|
||||
stargateeuropa.addItemInput(<contenttweaker:europa_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:europa_portal_block", "Europa");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateoi = RecipeBuilder.newBuilder("stargate_oi", "bee_stargate", 100);
|
||||
stargateoi.addItemInput(<contenttweaker:oi_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:oi_portal_block", "Oi");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatefalacer = RecipeBuilder.newBuilder("stargate_falacer", "bee_stargate", 100);
|
||||
stargatefalacer.addItemInput(<contenttweaker:falacer_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:falacer_portal_block", "Falacer");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateorcus = RecipeBuilder.newBuilder("stargate_orcus", "bee_stargate", 100);
|
||||
stargateorcus.addItemInput(<contenttweaker:orcus_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:orcus_portal_block", "Orcus");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatemyrmex = RecipeBuilder.newBuilder("stargate_myrmex", "bee_stargate", 100);
|
||||
stargatemyrmex.addItemInput(<contenttweaker:myrmex_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:myrmex_portal_block", "Myrmex");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatepixonia = RecipeBuilder.newBuilder("stargate_pixonia", "bee_stargate", 100);
|
||||
stargatepixonia.addItemInput(<contenttweaker:pixonia_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:pixonia_portal_block", "Pixonia");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateproxima = RecipeBuilder.newBuilder("stargate_proxima", "bee_stargate", 100);
|
||||
stargateproxima.addItemInput(<contenttweaker:proximabelt_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:proxima_portal_block", "Proxima");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatenero = RecipeBuilder.newBuilder("stargate_nero", "bee_stargate", 100);
|
||||
stargatenero.addItemInput(<contenttweaker:nero_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:nero_portal_block", "Nero");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatezoi = RecipeBuilder.newBuilder("stargate_zoi", "bee_stargate", 100);
|
||||
stargatezoi.addItemInput(<contenttweaker:zoi_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:zoi_portal_block", "Zoi");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargateakathartos = RecipeBuilder.newBuilder("stargate_akathartos", "bee_stargate", 100);
|
||||
stargateakathartos.addItemInput(<contenttweaker:akathartos_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:akathartos_portal_block", "Akathartos");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatepauram = RecipeBuilder.newBuilder("stargate_pauram", "bee_stargate", 100);
|
||||
stargatepauram.addItemInput(<contenttweaker:pauram_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:pauram_portal_block", "Pauram");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var stargatealkemia = RecipeBuilder.newBuilder("stargate_alkemia", "bee_stargate", 100);
|
||||
stargatealkemia.addItemInput(<contenttweaker:alkemia_warper>).setChance(0)
|
||||
.addFluidInput(<fluid:for.honey> * 100)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
beeStargateRecipeStart(event.controller, "contenttweaker:alkemia_portal_block", "Alkemia");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
// Do start up sound and message if no current portal, spawn portal if different recipe, or nothing if same portal:
|
||||
function beeStargateRecipeStart(controller as IMachineController, portalBlock as string, destination as string) {
|
||||
var pos = offset.getCenter(controller);
|
||||
var sender = Util.getControllerSender(controller);
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
var currentPortalBlock = controller.world.getBlockState(pos);
|
||||
|
||||
if (currentPortalBlock != IBlockState.getBlockState(portalBlock,"")) {
|
||||
if (currentPortalBlock == IBlockState.getBlockState("minecraft:air","")) {
|
||||
var onlineText = '{"translate":"chat.contenttweaker.stargate.online"}';
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.prepare_summon ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1");
|
||||
server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + onlineText);
|
||||
}
|
||||
beeStargatePlacePortal(controller, portalBlock, pos, sender);
|
||||
var destinationText = '{"translate":"chat.contenttweaker.portals.destination","with":["' + destination + '"]}';
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:block.portal.trigger block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1");
|
||||
server.commandManager.executeCommand(sender, "particle portal " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000");
|
||||
server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + destinationText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Destroy portal if the controller is not running.
|
||||
MMEvents.onMachinePostTick("bee_stargate", function(event as MachineTickEvent) {
|
||||
var ctrl = event.controller;
|
||||
if (ctrl.world.time % 20 != 0 || ctrl.isWorking) {
|
||||
return;
|
||||
}
|
||||
var pos = offset.getCenter(ctrl);
|
||||
Util.scheduleTask(ctrl, function() as void {
|
||||
var centerState = ctrl.world.getBlockState(pos);
|
||||
var itemBlock = ItemStack(Item.getItemFromBlock(centerState.block.native));
|
||||
// Only clear blocks that aren't unbreakable or are known portal blocks.
|
||||
if(centerState != IBlockState.getBlockState("minecraft:air","") && !isNull(itemBlock)
|
||||
&& (centerState.block.definition.hardness >= 0 || itemBlock.wrapper.definition.ores has portal)) {
|
||||
beeStargateClear(ctrl, pos);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Clear portal blocks.
|
||||
function beeStargateClear(controller as IMachineController, pos as IBlockPos) {
|
||||
var sender = Util.getControllerSender(controller);
|
||||
beeStargatePlacePortal(controller, "minecraft:air", pos, sender);
|
||||
var offlineText = '{"translate":"chat.contenttweaker.stargate.offline"}';
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.cast_spell ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 0.5");
|
||||
server.commandManager.executeCommand(sender, "particle smoke " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 200");
|
||||
server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + offlineText);
|
||||
}
|
||||
|
||||
// Places portal blocks inside the stargate frame:
|
||||
function beeStargatePlacePortal(controller as IMachineController, portalBlock as string, pos as IBlockPos, sender as ICommandSender) {
|
||||
var facing = controller.facing;
|
||||
var dx = 0;
|
||||
var dz = 0;
|
||||
// The plane direction
|
||||
if (facing == crafttweaker.world.IFacing.north() || facing == crafttweaker.world.IFacing.south()) { dx = 1; }
|
||||
else { dz = 1; }
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - dx) + " " + (pos.y - 1) + " " + (pos.z - dz) + " " + (pos.x + dx) + " " + (pos.y + 1) + " " + (pos.z + dz) + " " + portalBlock);
|
||||
}
|
||||
@@ -1,178 +0,0 @@
|
||||
import native.net.minecraft.item.Item;
|
||||
import native.net.minecraft.item.ItemStack;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.command.ICommandSender;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.MachineTickEvent;
|
||||
import mods.modularmachinery.RecipeStartEvent;
|
||||
import mods.modularmachinery.MMEvents;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
|
||||
// Shared code
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
static offset as Util.Offset = Util.Offset(4, -3);
|
||||
var portal = <ore:blockCustomPortal>;
|
||||
portal.addItems([
|
||||
<contenttweaker:taerrapiatta_portal_block>,
|
||||
<contenttweaker:diamerisma_portal_block>,
|
||||
<contenttweaker:furatto_portal_block>,
|
||||
<contenttweaker:finem_portal_block>,
|
||||
<contenttweaker:apichisi_portal_block>,
|
||||
<contenttweaker:lyndenwyrm_portal_block>,
|
||||
<contenttweaker:gallifrey_portal_block>
|
||||
]);
|
||||
var tooltip = [
|
||||
"This recipe spawns a portal while active.",
|
||||
"To teleport, stand inside the portal."
|
||||
] as string[];
|
||||
|
||||
var wormholetaerrapiatta = RecipeBuilder.newBuilder("wormholetaerrapiatta","wormhole_field_generator",100);
|
||||
wormholetaerrapiatta.addItemInput(<contenttweaker:taerrapiatta_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:taerrapiatta_portal_block", "Taerrapiatta");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholediamerisma = RecipeBuilder.newBuilder("wormholediamerisma","wormhole_field_generator",100);
|
||||
wormholediamerisma.addItemInput(<contenttweaker:diamerisma_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:diamerisma_portal_block", "Diamerisma");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholefuratto = RecipeBuilder.newBuilder("wormholefuratto","wormhole_field_generator",100);
|
||||
wormholefuratto.addItemInput(<contenttweaker:furatto_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:furatto_portal_block", "Furatto");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholefinem = RecipeBuilder.newBuilder("wormholefinem","wormhole_field_generator",100);
|
||||
wormholefinem.addItemInput(<contenttweaker:finem_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:finem_portal_block", "Finem");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholeapichisi = RecipeBuilder.newBuilder("wormholeapichisi","wormhole_field_generator",100);
|
||||
wormholeapichisi.addItemInput(<contenttweaker:apichisi_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:apichisi_portal_block", "Apichisi");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholelyndenwyrm = RecipeBuilder.newBuilder("wormholelyndenwyrm","wormhole_field_generator",100);
|
||||
wormholelyndenwyrm.addItemInput(<contenttweaker:lyndenwyrm_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:lyndenwyrm_portal_block", "Lyndenwyrm");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholegallifrey = RecipeBuilder.newBuilder("wormholegallifrey","wormhole_field_generator",100);
|
||||
wormholegallifrey.addItemInput(<contenttweaker:gallifrey_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:gallifrey_portal_block", "Gallifrey");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholehomeseeker = RecipeBuilder.newBuilder("wormholehomeseeker","wormhole_field_generator",100);
|
||||
wormholehomeseeker.addItemInput(<contenttweaker:homeseeker_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:homeseeker_portal_block", "Home?");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
var wormholehomebound = RecipeBuilder.newBuilder("wormholehomebound","wormhole_field_generator",100);
|
||||
wormholehomebound.addItemInput(<contenttweaker:homebound_warper>).setChance(0)
|
||||
.addEnergyPerTickInput(10000)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
wormholeGeneratorRecipeStart(event.controller, "contenttweaker:homebound_portal_block", "Home!");
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(tooltip)
|
||||
.build();
|
||||
|
||||
|
||||
// Do start up sound and message if no current portal, spawn portal if different recipe, or nothing if same portal:
|
||||
function wormholeGeneratorRecipeStart(controller as IMachineController, portalBlock as string, destination as string) {
|
||||
var pos = offset.getCenter(controller);
|
||||
var sender = Util.getControllerSender(controller);
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
var currentPortalBlock = controller.world.getBlockState(pos);
|
||||
|
||||
if (currentPortalBlock != IBlockState.getBlockState(portalBlock,"")) {
|
||||
if (currentPortalBlock == IBlockState.getBlockState("minecraft:air","")) {
|
||||
var onlineText = '{"translate":"chat.contenttweaker.wormhole_generator.online"}';
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.prepare_summon ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1");
|
||||
server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + onlineText);
|
||||
}
|
||||
wormholeGeneratorPlacePortal(controller, portalBlock, pos, sender);
|
||||
var destinationText = '{"translate":"chat.contenttweaker.portals.destination","with":["' + destination + '"]}';
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:block.portal.trigger block @a " + pos.x + " " + pos.y + " " + pos.z + " 1 1");
|
||||
server.commandManager.executeCommand(sender, "particle portal " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 1000");
|
||||
server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + destinationText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Destroy portal if the controller is not running.
|
||||
MMEvents.onMachinePostTick("wormhole_field_generator", function(event as MachineTickEvent) {
|
||||
var ctrl = event.controller;
|
||||
if (ctrl.world.time % 20 != 0 || ctrl.isWorking) {
|
||||
return;
|
||||
}
|
||||
var pos = offset.getCenter(ctrl);
|
||||
Util.scheduleTask(ctrl, function() as void {
|
||||
var centerState = ctrl.world.getBlockState(pos);
|
||||
var itemBlock = ItemStack(Item.getItemFromBlock(centerState.block.native));
|
||||
// Only clear blocks that aren't unbreakable or are known portal blocks.
|
||||
if(centerState != IBlockState.getBlockState("minecraft:air","") && !isNull(itemBlock)
|
||||
&& (centerState.block.definition.hardness >= 0 || itemBlock.wrapper.definition.ores has portal)) {
|
||||
wormholeGeneratorClear(ctrl, pos);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Clear portal blocks.
|
||||
function wormholeGeneratorClear(controller as IMachineController, pos as IBlockPos) {
|
||||
var sender = Util.getControllerSender(controller);
|
||||
wormholeGeneratorPlacePortal(controller, "minecraft:air", pos, sender);
|
||||
var offlineText = '{"translate":"chat.contenttweaker.wormhole_generator.offline"}';
|
||||
server.commandManager.executeCommand(sender, "playsound minecraft:entity.evocation_illager.cast_spell ambient @a " + pos.x + " " + pos.y + " " + pos.z + " 1 0.5");
|
||||
server.commandManager.executeCommand(sender, "particle smoke " + pos.x + " " + pos.y + " " + pos.z + " 1 1 1 0.1 200");
|
||||
server.commandManager.executeCommand(sender, 'execute @a[x=' + pos.x + ',y=' + pos.y + ',z=' + pos.z + ',r=25] ~ ~ ~ tellraw @s ' + offlineText);
|
||||
}
|
||||
|
||||
|
||||
// Places portal blocks inside the wormhole area:
|
||||
function wormholeGeneratorPlacePortal(controller as IMachineController, portalBlock as string, pos as IBlockPos, sender as ICommandSender) {
|
||||
var facing = controller.facing;
|
||||
server.commandManager.executeCommand(sender, "fill " + (pos.x - 1) + " " + (pos.y - 1) + " " + (pos.z - 1) + " " + (pos.x + 1) + " " + (pos.y + 1) + " " + (pos.z + 1) + " " + portalBlock);
|
||||
}
|
||||
@@ -1,287 +0,0 @@
|
||||
import native.net.minecraft.item.Item;
|
||||
import native.net.minecraft.item.ItemStack;
|
||||
|
||||
import crafttweaker.block.IBlockState;
|
||||
import crafttweaker.command.ICommandSender;
|
||||
import crafttweaker.world.IBlockPos;
|
||||
import mods.modularmachinery.RecipeBuilder;
|
||||
import mods.modularmachinery.MachineTickEvent;
|
||||
import mods.modularmachinery.RecipeStartEvent;
|
||||
import mods.modularmachinery.MMEvents;
|
||||
import mods.modularmachinery.IMachineController;
|
||||
import crafttweaker.world.IFacing;
|
||||
import crafttweaker.util.Position3f;
|
||||
|
||||
import crafttweaker.player.IPlayer;
|
||||
import crafttweaker.block.IBlock;
|
||||
import crafttweaker.data.IData;
|
||||
import native.erebus.entity.EntityAnimatedBlock;
|
||||
|
||||
|
||||
|
||||
// Shared code
|
||||
import scripts.util.ModularEventUtils as Util;
|
||||
|
||||
static offset as Util.Offset = Util.Offset(0, 0);
|
||||
|
||||
|
||||
var utopicspireallinone1 = RecipeBuilder.newBuilder("utopicspireallinone1","utopic_spires",600);
|
||||
utopicspireallinone1.addBiomeInput("tardis:telos")
|
||||
.addBiomeInput("tardis:mountains")
|
||||
.addBiomeInput("tardis:redlands")
|
||||
.addBiomeInput("tardis:farmlands")
|
||||
.addBiomeInput("tardis:telos")
|
||||
.addBiomeInput("biomesoplenty:sacred_springs")
|
||||
.addFluidInput(<fluid:dimensional_essence>*1000)
|
||||
.addFluidInput(<fluid:liquid_void>*1000)
|
||||
.addFluidInput(<fluid:overworldian_fluid>*1000)
|
||||
.addFluidInput(<fluid:nethengeic_fluid>*1000)
|
||||
.addFluidInput(<fluid:spatial_matter>*1000)
|
||||
.addFluidInput(<fluid:cosmic_matter>*1000)
|
||||
.addFluidInput(<fluid:galactic_matter>*1000)
|
||||
.addFluidInput(<fluid:recursive_life_essence>*1000)
|
||||
.addFluidInput(<fluid:chaotic_matter>*1000)
|
||||
.addFluidInput(<fluid:nightmarish_matter>*1000)
|
||||
.addFluidInput(<fluid:universal_matter>*1000)
|
||||
.addFluidInput(<fluid:ultimate_fractallite_essence>*1000)
|
||||
.addItemInput(<contenttweaker:time_beacon_construct>*1)
|
||||
.addItemInput(<appliedenergistics2:material:34>*1)
|
||||
.addItemInput(<appliedenergistics2:material:43>*1)
|
||||
.addItemInput(<appliedenergistics2:material:44>*1)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*100)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*100)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*100)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*100)
|
||||
.addItemOutput(<contenttweaker:recursion_of_history>*1)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
utopicSpiresRecipeStart(event.controller);
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(["One of the following miniature astral bodies must be placed in the center of the orb: Star, Pulsar, Black Hole, White Hole"])
|
||||
.build();
|
||||
|
||||
|
||||
var utopicspireallinone2 = RecipeBuilder.newBuilder("utopicspireallinone2","utopic_spires",600);
|
||||
utopicspireallinone2.addBiomeInput("tardis:telos")
|
||||
.addBiomeInput("tardis:mountains")
|
||||
.addBiomeInput("tardis:redlands")
|
||||
.addBiomeInput("tardis:farmlands")
|
||||
.addBiomeInput("tardis:telos")
|
||||
.addBiomeInput("biomesoplenty:sacred_springs")
|
||||
.addFluidInput(<fluid:dimensional_essence>*4000)
|
||||
.addFluidInput(<fluid:liquid_void>*4000)
|
||||
.addFluidInput(<fluid:overworldian_fluid>*4000)
|
||||
.addFluidInput(<fluid:nethengeic_fluid>*4000)
|
||||
.addFluidInput(<fluid:spatial_matter>*4000)
|
||||
.addFluidInput(<fluid:cosmic_matter>*4000)
|
||||
.addFluidInput(<fluid:galactic_matter>*4000)
|
||||
.addFluidInput(<fluid:recursive_life_essence>*4000)
|
||||
.addFluidInput(<fluid:chaotic_matter>*4000)
|
||||
.addFluidInput(<fluid:nightmarish_matter>*4000)
|
||||
.addFluidInput(<fluid:universal_matter>*4000)
|
||||
.addFluidInput(<fluid:ultimate_fractallite_essence>*4000)
|
||||
.addItemInput(<contenttweaker:time_beacon>*1)
|
||||
.addItemInput(<appliedenergistics2:material:34>*1)
|
||||
.addItemInput(<appliedenergistics2:material:43>*1)
|
||||
.addItemInput(<appliedenergistics2:material:44>*1)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*10000)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*10000)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*10000)
|
||||
.addFluidOutput(<fluid:essence_of_temporal_synthesis>*10000)
|
||||
.addItemOutput(<contenttweaker:recursion_of_history>*1)
|
||||
.addStartHandler(function(event as RecipeStartEvent) {
|
||||
utopicSpiresRecipeStart(event.controller);
|
||||
}
|
||||
)
|
||||
.addRecipeTooltip(["One of the following miniature astral bodies must be placed in the center of the orb: Star, Pulsar, Black Hole, White Hole"])
|
||||
.build();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function utopicSpiresRecipeStart(controller as IMachineController) {
|
||||
var posunshifted = offset.getCenter(controller).asPosition3f();
|
||||
var pos = offset.getCenter(controller).asPosition3f();
|
||||
pos.y = posunshifted.y + 19;
|
||||
var sender = Util.getControllerSender(controller);
|
||||
Util.scheduleTask(controller, function() as void {
|
||||
var currentAstralBody = controller.world.getBlock(pos).definition.id as string;
|
||||
|
||||
if (currentAstralBody == "contenttweaker:miniature_black_hole") {
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + "contenttweaker:tribody_fabrial" + " 0 replace " + "techreborn:machine_frame 0");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "air");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z - 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + (posunshifted.x - 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + (posunshifted.x + 2) + " " + (posunshifted.y) + " " + (posunshifted.z + 6) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + (posunshifted.x + 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z + 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + (posunshifted.x - 6) + " " + (posunshifted.y) + " " + (posunshifted.z - 2) + " " + "contenttweaker:basic_machine_frame_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + "contenttweaker:bluefire_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + "contenttweaker:unleashed_divine_ore" + " 0 replace " + "minecraft:stone");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x - 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x + 18) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 18) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "air");
|
||||
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x - 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z - 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + (posunshifted.x + 12) + " " + (posunshifted.y) + " " + (posunshifted.z + 3) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z + 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + (posunshifted.x + 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + (posunshifted.x - 3) + " " + (posunshifted.y) + " " + (posunshifted.z - 12) + " " + "contenttweaker:strange_stone_ghost" + " 0 replace " + "contenttweaker:harmonic_fluid_lattice");
|
||||
}
|
||||
if (currentAstralBody == "contenttweaker:miniature_star") {
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 8) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + (posunshifted.x + 8) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 8) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + (posunshifted.x - 8) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 8) + " " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 8) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 8) + " " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 8) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 20) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + (posunshifted.x + 20) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 20) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + (posunshifted.x - 20) + " " + (posunshifted.y + 4) + " " + (posunshifted.z) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 20) + " " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 20) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 20) + " " + (posunshifted.x) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 20) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 6) + " " + (posunshifted.x + 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 6) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 6) + " " + (posunshifted.x - 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 6) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 6) + " " + (posunshifted.x + 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 6) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 6) + " " + (posunshifted.x - 6) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 6) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 15) + " " + (posunshifted.x + 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 15) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 15) + " " + (posunshifted.x - 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z + 15) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x + 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 15) + " " + (posunshifted.x + 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 15) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
server.commandManager.executeCommand(sender, "fill " + (posunshifted.x - 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 15) + " " + (posunshifted.x - 15) + " " + (posunshifted.y + 4) + " " + (posunshifted.z - 15) + " " + "contenttweaker:harmonic_fluid_lattice" + " 0 replace " + "air");
|
||||
}
|
||||
if (currentAstralBody == "contenttweaker:miniature_pulsar") {
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 15) + " " + (posunshifted.y + 12) + " " + (posunshifted.z) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 15) + " " + (posunshifted.y + 12) + " " + (posunshifted.z) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x) + " " + (posunshifted.y + 12) + " " + (posunshifted.z - 15) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x) + " " + (posunshifted.y + 12) + " " + (posunshifted.z + 15) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 12) + " " + (posunshifted.y + 12) + " " + (posunshifted.z + 12) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 12) + " " + (posunshifted.y + 12) + " " + (posunshifted.z + 12) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 12) + " " + (posunshifted.y + 12) + " " + (posunshifted.z - 12) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 12) + " " + (posunshifted.y + 12) + " " + (posunshifted.z - 12) + " {Item:{id:\"contenttweaker:temporal_linkage\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x) + " " + (posunshifted.y + 6) + " " + (posunshifted.z - 4) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x) + " " + (posunshifted.y + 6) + " " + (posunshifted.z + 4) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 4) + " " + (posunshifted.y + 6) + " " + (posunshifted.z) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 4) + " " + (posunshifted.y + 6) + " " + (posunshifted.z) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 1) + " " + (posunshifted.y + 10) + " " + (posunshifted.z + 3) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 1) + " " + (posunshifted.y + 10) + " " + (posunshifted.z + 3) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 1) + " " + (posunshifted.y + 10) + " " + (posunshifted.z - 3) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 1) + " " + (posunshifted.y + 10) + " " + (posunshifted.z - 3) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 3) + " " + (posunshifted.y + 10) + " " + (posunshifted.z - 1) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x + 3) + " " + (posunshifted.y + 10) + " " + (posunshifted.z + 1) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 3) + " " + (posunshifted.y + 10) + " " + (posunshifted.z - 1) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
server.commandManager.executeCommand(sender, "summon Item " + (posunshifted.x - 3) + " " + (posunshifted.y + 10) + " " + (posunshifted.z + 1) + " {Item:{id:\"contenttweaker:self_confined_neutrino_plasma\",Count:1b}}");
|
||||
}
|
||||
if (currentAstralBody == "contenttweaker:miniature_white_hole") {
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x - 19) + " " + (posunshifted.y + 6) + " " + (posunshifted.z + 8) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x - 19) + " " + (posunshifted.y + 6) + " " + (posunshifted.z - 8) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x + 19) + " " + (posunshifted.y + 6) + " " + (posunshifted.z + 8) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x + 19) + " " + (posunshifted.y + 6) + " " + (posunshifted.z - 8) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x + 8) + " " + (posunshifted.y + 6) + " " + (posunshifted.z - 19) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x - 8) + " " + (posunshifted.y + 6) + " " + (posunshifted.z - 19) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x + 8) + " " + (posunshifted.y + 6) + " " + (posunshifted.z + 19) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
server.commandManager.executeCommand(sender, "summon twilightforest:castle_guardian " + (posunshifted.x - 8) + " " + (posunshifted.y + 6) + " " + (posunshifted.z + 19) + " {PersistenceRequired:1,HandItems:[{Count:1,id:\"contenttweaker:covetous_incubator\"},{}],HandDropChances:[1.0f,0.0f],Attributes:[{Name:generic.maxHealth, Base:2000.0},{Name:generic.attackDamage, Base:30.0}],Health:2000f,CustomName:\"Covetous Dalek\"}");
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
val oresonicscrewdriver = <ore:itemSonicScrewdriver>;
|
||||
oresonicscrewdriver.add(<tardis:sonic_second>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_third>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_fourth>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_fifth>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_seven>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_war>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_10>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_romana>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_lance>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_lipstick>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_trowel>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_pen>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_cane>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_screwdriver>);
|
||||
oresonicscrewdriver.add(<tardis:sonic_screwdriver_13>);
|
||||
|
||||
|
||||
|
||||
|
||||
recipes.addShaped(<contenttweaker:time_beacon>*4,
|
||||
[[<contenttweaker:time_beacon_construct>, <techreborn:dynamiccell>.withTag({Fluid: {FluidName: "harmonic_fluid_lattice", Amount: 1000}}), <contenttweaker:time_beacon_construct>],
|
||||
[<techreborn:dynamiccell>.withTag({Fluid: {FluidName: "harmonic_fluid_lattice", Amount: 1000}}), <thaumicwonders:void_beacon>, <techreborn:dynamiccell>.withTag({Fluid: {FluidName: "harmonic_fluid_lattice", Amount: 1000}})],
|
||||
[<contenttweaker:time_beacon_construct>, <techreborn:dynamiccell>.withTag({Fluid: {FluidName: "harmonic_fluid_lattice", Amount: 1000}}), <contenttweaker:time_beacon_construct>]]);
|
||||
|
||||
recipes.addShaped(<contenttweaker:time_beacon_construct>,
|
||||
[[<rftools:infused_enderpearl>, <cells:hyper_density_component:0>, <rftools:infused_enderpearl>],
|
||||
[<rftools:shield_template_block>, <ore:itemSonicScrewdriver>.reuse(), <rftools:shield_template_block>],
|
||||
[<rftools:infused_enderpearl>, <tardis:temporal_grace_circuits>, <rftools:infused_enderpearl>]]);
|
||||
|
||||
recipes.addShaped(<tardis:circuts>,
|
||||
[[<contenttweaker:spatial_processing_unit>, <techreborn:part:0>, <contenttweaker:spatial_processing_unit>],
|
||||
[<contenttweaker:spatial_processing_unit>, <ore:itemSonicScrewdriver>.reuse(), <contenttweaker:spatial_processing_unit>],
|
||||
[<contenttweaker:spatial_processing_unit>, <techreborn:part:1>, <contenttweaker:spatial_processing_unit>]]);
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user