Skip to content

Commit

Permalink
docs
Browse files Browse the repository at this point in the history
  • Loading branch information
brachy84 committed Mar 2, 2024
1 parent 2b44cc7 commit 14cca97
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 29 deletions.
29 changes: 18 additions & 11 deletions examples/postInit/draconicevolution.groovy
Original file line number Diff line number Diff line change
@@ -1,30 +1,37 @@

// Auto generated groovyscript example file
// MODS_LOADED: draconicevolution

println 'mod \'draconicevolution\' detected, running script'

// Energy Core:
// A multiblock which stores energy

mods.draconicevolution.energy_core.setInnerBlock(7, block('minecraft:clay'))
mods.draconicevolution.energy_core.setOuterBlock(2, block('minecraft:diamond_block'))
mods.draconicevolution.energy_core.setOuterBlock(7, block('minecraft:diamond_block'))

// Fusion:
// Consumes items and power from up to 54 pedestals of at least a given tier pointing towards a Fusion Crafting Core containing a catalyst to produce an output item.
// Consumes items and power from up to 54 pedestals of at least a given tier pointing towards a Fusion Crafting Core
// containing a catalyst to produce an output item.

mods.draconicevolution.fusion.removeByCatalyst(item('draconicevolution:chaos_shard'))
// mods.draconicevolution.fusion.removeAll()

mods.draconicevolution.fusion.recipeBuilder()
.catalyst(item('minecraft:diamond'))
.input(ore('ingotIron'), ore('ingotIron'), item('minecraft:dirt'), item('minecraft:grass'), item('minecraft:grass'), item('minecraft:dirt'), ore('ingotGold'), ore('ingotGold'))
.output(item('minecraft:nether_star'))
.energy(10) // Energy cost per item. Optional, default 1000000 (1 million)
.tier(1) // Optional, default 0 (basic)
.energy(10)
.tier(1)
.register()

mods.draconicevolution.fusion.recipeBuilder()
.catalyst(item('minecraft:diamond'))
.input(item('minecraft:clay'), item('minecraft:clay'), item('minecraft:clay'), item('minecraft:clay'))
.output(item('minecraft:nether_star'))
.energy(100000)
//.tierNormal() // Alias for tier(0)
//.tierBasic() // Alias for tier(0)
//.tierWyvern() // Alias for tier(1)
//.tierDraconic() // Alias for tier(2)
.tierChaotic() // Alias for tier(3)
.tierChaotic()
.register()

mods.draconicevolution.fusion.removeByCatalyst(item('draconicevolution:chaos_shard'))
//mods.draconicevolution.fusion.removeAll()

mods.draconicevolution.energyCore.setOuterBlock(2, 'minecraft:diamond_block')
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@
import com.cleanroommc.groovyscript.api.GroovyBlacklist;
import com.cleanroommc.groovyscript.api.GroovyLog;
import com.cleanroommc.groovyscript.api.IScriptReloadable;
import com.cleanroommc.groovyscript.api.documentation.annotations.Example;
import com.cleanroommc.groovyscript.api.documentation.annotations.MethodDescription;
import com.cleanroommc.groovyscript.api.documentation.annotations.RegistryDescription;
import com.cleanroommc.groovyscript.core.mixin.draconicevolution.EnergyCoreStructureAccessor;
import com.cleanroommc.groovyscript.core.mixin.draconicevolution.MultiBlockStorageAccessor;
import com.cleanroommc.groovyscript.helper.Alias;
Expand All @@ -16,6 +19,7 @@
import java.util.Arrays;
import java.util.Collection;

@RegistryDescription
public class EnergyCore implements IScriptReloadable {

private static final String DRACONIUM = "draconicevolution:draconium_block";
Expand Down Expand Up @@ -94,24 +98,9 @@ private void replaceBlock(int tier, String edit, boolean inner) {
(inner ? this.inner : this.outer)[tier - 1] = edit;
}

public EnergyCore setInnerBlock(int tier, String id) {
if (!ForgeRegistries.BLOCKS.containsKey(new ResourceLocation(id))) {
GroovyLog.get().error("Can't set block '{}' as inner block of tier {} of Draconic Evolution Energy Core, because the block doesn't exist!", id, tier);
return this;
}
replaceBlock(tier, id, true);
return this;
}

public EnergyCore setOuterBlock(int tier, String id) {
if (!ForgeRegistries.BLOCKS.containsKey(new ResourceLocation(id))) {
GroovyLog.get().error("Can't set block '{}' as outer block of tier {} of Draconic Evolution Energy Core, because the block doesn't exist!", id, tier);
return this;
}
replaceBlock(tier, id, false);
return this;
}

@MethodDescription(description = "groovyscript.wiki.draconicevolution.inner_block", type = MethodDescription.Type.VALUE, example = {
@Example("7, block('minecraft:clay')")
})
public EnergyCore setInnerBlock(int tier, Block block) {
if (block == null) {
GroovyLog.msg("Error setting inner block of tier {} Draconic Evolution Energy Core", tier)
Expand All @@ -124,6 +113,10 @@ public EnergyCore setInnerBlock(int tier, Block block) {
return this;
}

@MethodDescription(description = "groovyscript.wiki.draconicevolution.outer_block", type = MethodDescription.Type.VALUE, example = {
@Example("7, block('minecraft:diamond_block')"),
@Example("2, block('minecraft:diamond_block')")
})
public EnergyCore setOuterBlock(int tier, Block block) {
if (block == null) {
GroovyLog.msg("Error setting outer block of tier {} Draconic Evolution Energy Core", tier)
Expand Down
4 changes: 4 additions & 0 deletions src/main/resources/assets/groovyscript/lang/en_us.lang
Original file line number Diff line number Diff line change
Expand Up @@ -520,6 +520,10 @@ groovyscript.wiki.compactmachines3.miniaturization.keyMap.value=Sets the IBlockS
groovyscript.wiki.compactmachines3.miniaturization.symmetrical.value=Sets if the recipe does not have to test all 4 rotations to determine if the multiblock is valid

# Draconic Evolution
groovyscript.wiki.draconicevolution.energy_core.title=Energy Core
groovyscript.wiki.draconicevolution.energy_core.description=A multiblock which stores energy
groovyscript.wiki.draconicevolution.outer_block=Sets the inner block for the multiblock in the format `tier`, `block`
groovyscript.wiki.draconicevolution.inner_block=Sets the outer block for the multiblock in the format `tier`, `block`
groovyscript.wiki.draconicevolution.fusion.title=Fusion
groovyscript.wiki.draconicevolution.fusion.description=Consumes items and power from up to 54 pedestals of at least a given tier pointing towards a Fusion Crafting Core containing a catalyst to produce an output item.
groovyscript.wiki.draconicevolution.fusion.catalyst.value=Sets the item used in the center Fusion Crafting Controller block
Expand Down

0 comments on commit 14cca97

Please sign in to comment.