fixed missing recipe and breaker bug
@@ -1,28 +0,0 @@
|
|||||||
This is Forge Mod Loader.
|
|
||||||
|
|
||||||
You can find the source code at all times at https://github.com/MinecraftForge/FML
|
|
||||||
|
|
||||||
This minecraft mod is a clean open source implementation of a mod loader for minecraft servers
|
|
||||||
and minecraft clients.
|
|
||||||
|
|
||||||
The code is authored by cpw.
|
|
||||||
|
|
||||||
It began by partially implementing an API defined by the client side ModLoader, authored by Risugami.
|
|
||||||
http://www.minecraftforum.net/topic/75440-
|
|
||||||
This support has been dropped as of Minecraft release 1.7, as Risugami no longer maintains ModLoader.
|
|
||||||
|
|
||||||
It also contains suggestions and hints and generous helpings of code from LexManos, author of MinecraftForge.
|
|
||||||
http://www.minecraftforge.net/
|
|
||||||
|
|
||||||
Additionally, it contains an implementation of topological sort based on that
|
|
||||||
published at http://keithschwarz.com/interesting/code/?dir=topological-sort
|
|
||||||
|
|
||||||
It also contains code from the Maven project for performing versioned dependency
|
|
||||||
resolution. http://maven.apache.org/
|
|
||||||
|
|
||||||
It also contains a partial repackaging of the javaxdelta library from http://sourceforge.net/projects/javaxdelta/
|
|
||||||
with credit to it's authors.
|
|
||||||
|
|
||||||
Forge Mod Loader downloads components from the Minecraft Coder Pack
|
|
||||||
(http://mcp.ocean-labs.de/index.php/Main_Page) with kind permission from the MCP team.
|
|
||||||
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
-------------------------------------------
|
|
||||||
Source installation information for modders
|
|
||||||
-------------------------------------------
|
|
||||||
This code follows the Minecraft Forge installation methodology. It will apply
|
|
||||||
some small patches to the vanilla MCP source code, giving you and it access
|
|
||||||
to some of the data and functions you need to build a successful mod.
|
|
||||||
|
|
||||||
Note also that the patches are built against "unrenamed" MCP source code (aka
|
|
||||||
srgnames) - this means that you will not be able to read them directly against
|
|
||||||
normal code.
|
|
||||||
|
|
||||||
Source pack installation information:
|
|
||||||
|
|
||||||
Standalone source installation
|
|
||||||
==============================
|
|
||||||
|
|
||||||
Step 1: Open your command-line and browse to the folder where you extracted the zip file.
|
|
||||||
|
|
||||||
Step 2: Once you have a command window up in the folder that the downloaded material was placed, type:
|
|
||||||
|
|
||||||
Windows: "gradlew setupDecompWorkspace"
|
|
||||||
Linux/Mac OS: "./gradlew setupDecompWorkspace"
|
|
||||||
|
|
||||||
Step 3: After all that finished, you're left with a choice.
|
|
||||||
For eclipse, run "gradlew eclipse" (./gradlew eclipse if you are on Mac/Linux)
|
|
||||||
|
|
||||||
If you preffer to use IntelliJ, steps are a little different.
|
|
||||||
1. Open IDEA, and import project.
|
|
||||||
2. Select your build.gradle file and have it import.
|
|
||||||
3. Once it's finished you must close IntelliJ and run the following command:
|
|
||||||
|
|
||||||
"gradlew genIntellijRuns" (./gradlew genIntellijRuns if you are on Mac/Linux)
|
|
||||||
|
|
||||||
Step 4: The final step is to open Eclipse and switch your workspace to /eclipse/ (if you use IDEA, it should automatically start on your project)
|
|
||||||
|
|
||||||
If at any point you are missing libraries in your IDE, or you've run into problems you can run "gradlew --refresh-dependencies" to refresh the local cache. "gradlew clean" to reset everything {this does not effect your code} and then start the processs again.
|
|
||||||
|
|
||||||
Should it still not work,
|
|
||||||
Refer to #ForgeGradle on EsperNet for more information about the gradle environment.
|
|
||||||
|
|
||||||
Tip:
|
|
||||||
If you do not care about seeing Minecraft's source code you can replace "setupDecompWorkspace" with one of the following:
|
|
||||||
"setupDevWorkspace": Will patch, deobfusicated, and gather required assets to run minecraft, but will not generated human readable source code.
|
|
||||||
"setupCIWorkspace": Same as Dev but will not download any assets. This is useful in build servers as it is the fastest because it does the least work.
|
|
||||||
|
|
||||||
Tip:
|
|
||||||
When using Decomp workspace, the Minecraft source code is NOT added to your workspace in a editable way. Minecraft is treated like a normal Library. Sources are there for documentation and research purposes and usually can be accessed under the 'referenced libraries' section of your IDE.
|
|
||||||
|
|
||||||
Forge source installation
|
|
||||||
=========================
|
|
||||||
MinecraftForge ships with this code and installs it as part of the forge
|
|
||||||
installation process, no further action is required on your part.
|
|
||||||
|
|
||||||
LexManos' Install Video
|
|
||||||
=======================
|
|
||||||
https://www.youtube.com/watch?v=8VEdtQLuLO0&feature=youtu.be
|
|
||||||
|
|
||||||
For more details update more often refer to the Forge Forums:
|
|
||||||
http://www.minecraftforge.net/forum/index.php/topic,14048.0.html
|
|
||||||
@@ -5,7 +5,7 @@ org.gradle.jvmargs=-Xmx3G
|
|||||||
|
|
||||||
mod_group=nmd.primal.forgecraft
|
mod_group=nmd.primal.forgecraft
|
||||||
mod_name=ForgeCraft
|
mod_name=ForgeCraft
|
||||||
mod_version=1.2.52
|
mod_version=1.2.53
|
||||||
forge_version=13.20.0.2315
|
forge_version=13.20.0.2315
|
||||||
mcp_mappings=snapshot_20170121
|
mcp_mappings=snapshot_20170121
|
||||||
mc_version=1.11.2
|
mc_version=1.11.2
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ public class ModInfo {
|
|||||||
public static final String MOD_CONFIG = "primal/" + MOD_ID;
|
public static final String MOD_CONFIG = "primal/" + MOD_ID;
|
||||||
//public static final String MOD_PREFIX = MOD_ID + ":";
|
//public static final String MOD_PREFIX = MOD_ID + ":";
|
||||||
public static final String MOD_CHANNEL = MOD_ID;
|
public static final String MOD_CHANNEL = MOD_ID;
|
||||||
public static final String MOD_VERSION = "1.2.52";
|
public static final String MOD_VERSION = "1.2.53";
|
||||||
public static final String MC_VERSIONS = "[1.11.0, 1.12.0)";
|
public static final String MC_VERSIONS = "[1.11.0, 1.12.0)";
|
||||||
public static final String DEPENDENCIES = "required-after:forge@[13.20.0.2315,);" + "required-after:primal@[0.4,);";
|
public static final String DEPENDENCIES = "required-after:forge@[13.20.0.2315,);" + "required-after:primal@[0.4,);";
|
||||||
|
|
||||||
|
|||||||
@@ -54,8 +54,9 @@ public class Breaker extends CustomContainerFacing implements BreakerHandler {
|
|||||||
}*/
|
}*/
|
||||||
|
|
||||||
if(state.getValue(PrimalStates.ACTIVE) == true && player.isSneaking() && pItem.isEmpty()){
|
if(state.getValue(PrimalStates.ACTIVE) == true && player.isSneaking() && pItem.isEmpty()){
|
||||||
world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(PrimalStates.ACTIVE, false));
|
|
||||||
doBreaking(world, state, pos, tile);
|
doBreaking(world, state, pos, tile);
|
||||||
|
world.setBlockState(pos, state.withProperty(FACING, state.getValue(FACING)).withProperty(PrimalStates.ACTIVE, false));
|
||||||
|
|
||||||
tile.setCharge(0);
|
tile.setCharge(0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ public class ModCrafting {
|
|||||||
true, new Object[]{" S ", "S S", " S ",
|
true, new Object[]{" S ", "S S", " S ",
|
||||||
('S'), "logSplit"
|
('S'), "logSplit"
|
||||||
}));
|
}));
|
||||||
|
/***CASTING MUD***/
|
||||||
|
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.castingmud, 4),
|
||||||
|
true, new Object[]{" C ", "CSC", " C ",
|
||||||
|
('S'), Blocks.SAND,
|
||||||
|
('C'), PrimalItems.MUD_CLUMP
|
||||||
|
}));
|
||||||
|
|
||||||
/***Forge***/
|
/***Forge***/
|
||||||
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.forge_brick),
|
GameRegistry.addShapedRecipe(new ItemStack(ModBlocks.forge_brick),
|
||||||
|
|||||||
@@ -46,48 +46,59 @@ return false;
|
|||||||
//if(hasOreName(new ItemStack(Blocks.LOG), "logWood"))
|
//if(hasOreName(new ItemStack(Blocks.LOG), "logWood"))
|
||||||
// item is logWood
|
// item is logWood
|
||||||
|
|
||||||
default void doBreaking(World world, IBlockState state, BlockPos pos, TileBreaker tile){
|
default boolean doBreaking(World world, IBlockState state, BlockPos pos, TileBreaker tile) {
|
||||||
for (EnumFacing face : EnumFacing.values()) {
|
for (int i=0; i < EnumFacing.HORIZONTALS.length; i++) {
|
||||||
if(world.getBlockState(pos).getValue(CustomContainerFacing.FACING) == face) {
|
EnumFacing face = world.getBlockState(pos).getValue(CustomContainerFacing.FACING);
|
||||||
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
if(face.equals(world.getBlockState(pos).getValue(CustomContainerFacing.FACING))){
|
||||||
Block smashBlock = world.getBlockState(pos.offset(face)).getBlock();
|
Block smashBlock = world.getBlockState(pos.offset(face)).getBlock();
|
||||||
ItemStack smashStack = new ItemStack(smashBlock, 1);
|
ItemStack smashStack = new ItemStack(smashBlock);
|
||||||
System.out.println(smashStack.getItem());
|
if (hasOreName(smashStack, "oreIron")) {
|
||||||
if (hasOreName(smashStack, "oreIron")) {
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.setBlockToAir(pos.offset(face));
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.IRON_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (hasOreName(smashStack, "oreCopper")) {
|
}
|
||||||
|
if (hasOreName(smashStack, "oreCopper")) {
|
||||||
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.setBlockToAir(pos.offset(face));
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.COPPER_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.COPPER_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
|
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (hasOreName(smashStack, "oreTin")) {
|
}
|
||||||
|
if (hasOreName(smashStack, "oreTin")) {
|
||||||
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.setBlockToAir(pos.offset(face));
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.TIN_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.TIN_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
|
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (hasOreName(smashStack, "oreZinc")) {
|
}
|
||||||
|
if (hasOreName(smashStack, "oreZinc")) {
|
||||||
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.setBlockToAir(pos.offset(face));
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.ZINC_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.ZINC_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
|
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
if (hasOreName(smashStack, "oreGold")) {
|
}
|
||||||
|
if (hasOreName(smashStack, "oreGold")) {
|
||||||
|
if (tile.getCharge() > getThreshold(world, pos.offset(face))) {
|
||||||
world.setBlockToAir(pos.offset(face));
|
world.setBlockToAir(pos.offset(face));
|
||||||
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.GOLD_DUST, randomChanceReturn(9, 1, 2)));
|
PlayerHelper.spawnItemOnGround(world, pos.offset(face), new ItemStack(PrimalItems.GOLD_DUST, randomChanceReturn(9, 1, 2)));
|
||||||
|
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 1);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 10);
|
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
tile.getSlotStack(0).setItemDamage(tile.getSlotStack(0).getItemDamage() + 10);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
tile.setCharge(0.0f);
|
i++;
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
default float getThreshold(World world, BlockPos pos){
|
default float getThreshold(World world, BlockPos pos){
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"modid": "forgecraft",
|
"modid": "forgecraft",
|
||||||
"name": "Kitsu's Forgecraft",
|
"name": "Kitsu's Forgecraft",
|
||||||
"description": "Forged with sweat and blood",
|
"description": "Forged with sweat and blood",
|
||||||
"version": "1.2.52",
|
"version": "1.2.53",
|
||||||
"mcversion": "1.11.2",
|
"mcversion": "1.11.2",
|
||||||
"url": "",
|
"url": "",
|
||||||
"updateUrl": "",
|
"updateUrl": "",
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 853 B After Width: | Height: | Size: 853 B |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 604 B After Width: | Height: | Size: 604 B |
|
Before Width: | Height: | Size: 948 B After Width: | Height: | Size: 948 B |
|
Before Width: | Height: | Size: 873 B After Width: | Height: | Size: 873 B |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 930 B After Width: | Height: | Size: 930 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 615 B After Width: | Height: | Size: 615 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 101 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 113 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 603 B After Width: | Height: | Size: 603 B |
|
Before Width: | Height: | Size: 1021 B After Width: | Height: | Size: 1021 B |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 794 B After Width: | Height: | Size: 794 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 95 KiB After Width: | Height: | Size: 95 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 590 B After Width: | Height: | Size: 590 B |
|
Before Width: | Height: | Size: 123 KiB After Width: | Height: | Size: 123 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 734 B After Width: | Height: | Size: 734 B |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 762 B |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |