Skip to content

Commit

Permalink
indev 1.3.1-6
Browse files Browse the repository at this point in the history
  • Loading branch information
SvenKayser committed Mar 9, 2017
1 parent 1d86933 commit 1bb25c4
Show file tree
Hide file tree
Showing 37 changed files with 441 additions and 67 deletions.
2 changes: 1 addition & 1 deletion .classpath
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@
<classpathentry exported="true" kind="lib" path="/home/sven/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.1/aa9aae879af8eb378e22cfc64db56ec2ca9a44d1/lwjgl-platform-2.9.1-natives-linux.jar"/>
<classpathentry exported="true" kind="lib" path="/home/sven/.gradle/caches/modules-2/files-2.1/org.lwjgl.lwjgl/lwjgl-platform/2.9.1/2d12c83fdfbc04ecabf02c7bc8cc54d034f0daac/lwjgl-platform-2.9.1-natives-osx.jar"/>
<classpathentry exported="true" kind="lib" path="/home/sven/.gradle/caches/minecraft/net/minecraftforge/forge/1.7.10-10.13.4.1558-1.7.10/start"/>
<classpathentry kind="lib" path="/home/sven/mcdev/JMOD/build/dirtyArtifacts/forgeBin-1.7.10-10.13.4.1558-1.7.10.jar" sourcepath="/home/sven/mcdev/simods/si.core/build/dirtyArtifacts/forgeSrc-1.7.10-10.13.4.1558-1.7.10-sources.jar"/>
<classpathentry kind="lib" path="build/dirtyArtifacts/forgeBin-1.7.10-10.13.4.1558-1.7.10.jar" sourcepath="build/dirtyArtifacts/forgeSrc-1.7.10-10.13.4.1558-1.7.10-sources.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
2 changes: 1 addition & 1 deletion JMOD-Chisel
2 changes: 1 addition & 1 deletion JMOD-RotaryCraft
2 changes: 1 addition & 1 deletion JMOD-Sync
2 changes: 1 addition & 1 deletion JMOD-applecore
5 changes: 5 additions & 0 deletions buildme
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh
rm build/libs/*
./gradlew build
cp build/libs/jmod-*-complete.jar ~/.minecraftdevtest/mods
#cp ~/mcdev/Survival-Industry-dev/Documents\ and\ Notes/Resource\ Packs/Survival\ Industry ~/.minecraftdevtest/resourcepacks -R
7 changes: 6 additions & 1 deletion src/main/java/com/jeffpeng/jmod/JMOD.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
import com.jeffpeng.jmod.primitives.ModScriptObject;
import com.jeffpeng.jmod.registry.BlockMaterialRegistry;
import com.jeffpeng.jmod.util.ForgeDeepInterface;
import com.jeffpeng.jmod.util.ModId;

import cpw.mods.fml.common.ProgressManager;
import cpw.mods.fml.common.ProgressManager.ProgressBar;
Expand Down Expand Up @@ -78,15 +79,19 @@ public JMOD() {
JMODLoader.initPlugins();
}

public void forgeLoaderHook(){

}

public void on(FMLConstructionEvent event) {
if(event.getSide().isServer()) isServer = true;
BlacklistCraftingResults.init();
BlacklistCraftingResults.getInstance().blacklistDomain("RotaryCraft");
DEEPFORGE = new ForgeDeepInterface();
// JMODLoader.loadPluginsIntoClassPath();
JMODLoader.constructMods();
JMODLoader.inject();
JMODLoader.runScripts();
ModId.init();

ProgressBar bar = ProgressManager.push("Initializing JMODs", JMODLoader.getModList().size());
for(Map.Entry<String,JMODContainer> entry : JMODLoader.getModList().entrySet()){
Expand Down
1 change: 1 addition & 0 deletions src/main/java/com/jeffpeng/jmod/JMODLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ protected static void inject(){

protected static void runScripts(){
for(Map.Entry<String,JMODContainer> entry : modList.entrySet()){
JMOD.LOG.info("'###rsc " + entry.getValue().getModId());
entry.getValue().getMod().runScripts();
}
}
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/com/jeffpeng/jmod/JMODRepresentation.java
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import com.jeffpeng.jmod.actions.SetBlockProperties;
import com.jeffpeng.jmod.crafting.AnvilHandler;
import com.jeffpeng.jmod.crafting.DropHandler;
import com.jeffpeng.jmod.crafting.FuelHandler;
import com.jeffpeng.jmod.crafting.ToolRepairRecipe;
import com.jeffpeng.jmod.descriptors.ColorDescriptor;
import com.jeffpeng.jmod.descriptors.ItemStackSubstituteDescriptor;
Expand Down Expand Up @@ -61,6 +62,7 @@ public class JMODRepresentation implements IEventObject {
private boolean scriptingFinished = false;
private boolean scriptingErrored = false;
protected List<IStagedObject> stageables = new ArrayList<>();
public FuelHandler fuelHandler = new FuelHandler();



Expand Down Expand Up @@ -108,6 +110,7 @@ public JMODRepresentation(JMODInfo modinfo, boolean zipmod) {
public void runScripts() {
log.info("Scripts for " + this.getModId());
script = new JScript(instance);
log.info("Scripts for " + this.getModId());
for (String entry : modinfo.scripts) {
script.evalScript(entry);
}
Expand All @@ -126,6 +129,7 @@ public void on(FMLConstructionEvent event) {
public void on(FMLPreInitializationEvent event) {
if (!JMOD.isDevVersion())
lib.checkDependencies();
GameRegistry.registerFuelHandler(fuelHandler);
}

@SuppressWarnings("unchecked")
Expand Down
27 changes: 20 additions & 7 deletions src/main/java/com/jeffpeng/jmod/Lib.java
Original file line number Diff line number Diff line change
Expand Up @@ -71,18 +71,31 @@ public static boolean chance(int percentage){
return rand <= percentage;
}

public void displayWarningMessage(String title, String message){
if(!JMOD.isServer()){
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, message,title,JOptionPane.WARNING_MESSAGE);

}
log.warn(message);
}

public void displayErrorMessage(String title, String message){
if(!JMOD.isServer()){
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, message,title,JOptionPane.ERROR_MESSAGE);
}
log.error(message);
throw new RuntimeException(message);
}

@SuppressWarnings("unchecked")
public void checkDependencies(){
for(Map.Entry<String,String> entry : ((Map<String,String>) config.get("moddependencies")).entrySet()){
if(!Loader.isModLoaded(entry.getKey())){
String message = "The mod " + entry.getValue() + " is missing!\n\n" + owner.getModName() + " is not supposed to run without it. We strongly recommend installing it.\n\nIf you do not, these possible problems are all yours to keep:\n\n- Broken progression\n- Missing blocks and items\n- Ruined game experience\n- Horrible crashes of doom\n- Feeling miserable\n\nWe will not care, and will not help, but keep bugging you with this window.";
if(!JMOD.isServer()){
JFrame frame = new JFrame();
JOptionPane.showMessageDialog(frame, message,"The mod " + entry.getValue() + " is missing!",JOptionPane.WARNING_MESSAGE);
}

log.warn(message);

String title = "The mod " + entry.getValue() + " is missing!";
displayWarningMessage(title,message);
}
}
}
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/jeffpeng/jmod/actions/AddItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import com.jeffpeng.jmod.interfaces.IArmor;
import com.jeffpeng.jmod.interfaces.IItem;
import com.jeffpeng.jmod.interfaces.IItemColor;
import com.jeffpeng.jmod.interfaces.ISettingsProcessor;
import com.jeffpeng.jmod.interfaces.ITool;
import com.jeffpeng.jmod.primitives.BasicAction;
import com.jeffpeng.jmod.types.items.CoreFood;
Expand Down Expand Up @@ -112,6 +113,11 @@ public boolean on(FMLPreInitializationEvent event){
((Item) instance).setTextureName(instance.getPrefix() + ":" + getString("name"));
((Item) instance).setMaxStackSize(getInt("stacksize"));

if(instance instanceof ISettingsProcessor)
{
((ISettingsProcessor)instance).processSettings(this);
}


} catch (Exception e) {
log.warn("Could not instantiate " + getString("name") + ". Possibly the constructor is malformed?");
Expand Down
13 changes: 12 additions & 1 deletion src/main/java/com/jeffpeng/jmod/actions/SetBlockProperties.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
import java.util.Map;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

import com.jeffpeng.jmod.JMODRepresentation;
import com.jeffpeng.jmod.primitives.BasicAction;
Expand All @@ -25,6 +27,7 @@ public SetBlockProperties(JMODRepresentation owner, String blockstring) {
private Map<Integer,Integer> harvestlevel = new HashMap<>();
private Boolean opaque;
private Float lightlevel;
private int burnTime;


public SetBlockProperties hardness(Float hardness){
Expand Down Expand Up @@ -66,7 +69,11 @@ public SetBlockProperties sound(String sound){
public SetBlockProperties opaque(boolean op){
this.opaque = op;
return this;

}

public SetBlockProperties furnaceBurnTime(int burnTime){
this.burnTime = 0;
return this;
}

public SetBlockProperties blastresistance(float blastresistance){
Expand Down Expand Up @@ -112,6 +119,10 @@ public void execute(){
{
block.setLightLevel(lightlevel);
}

if (burnTime != 0){
owner.fuelHandler.setBurnTime(new ItemStack(block), burnTime);
}

} else {
log.warn("Cannot patch block properties for " + blockstring + " as it is not in the game. Omitting.");
Expand Down
50 changes: 50 additions & 0 deletions src/main/java/com/jeffpeng/jmod/crafting/FuelHandler.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
package com.jeffpeng.jmod.crafting;

import java.util.HashMap;
import java.util.Map;

import com.jeffpeng.jmod.JMODRepresentation;
import com.jeffpeng.jmod.interfaces.IFurnaceFuel;
import com.jeffpeng.jmod.interfaces.IItem;
import com.jeffpeng.jmod.primitives.OwnedObject;
import com.jeffpeng.jmod.types.blocks.CoreBlock;

import net.minecraft.block.Block;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.common.IFuelHandler;

public class FuelHandler implements IFuelHandler {
private Map<Integer,Integer> fuelList = new HashMap<>();

public void setBurnTime(ItemStack is, int burntime){
Item item = is.getItem();
Block block = Block.getBlockFromItem(item);

if(block != null && block instanceof IFurnaceFuel){
((IFurnaceFuel)block).setBurnTime(burntime);
return;
}

Item.getIdFromItem(item);

fuelList.put(Item.getIdFromItem(item), burntime);
}

@Override
public int getBurnTime(ItemStack fuel) {

Item item = fuel.getItem();
Block block = Block.getBlockFromItem(item);

if(block != null && block instanceof IFurnaceFuel){
return ((CoreBlock)block).getBurnTime();
}

if(item instanceof IFurnaceFuel){
return ((IItem)item).getBurnTime();
} else {
return fuelList.get(Item.getIdFromItem(item));
}
}
}
2 changes: 1 addition & 1 deletion src/main/java/com/jeffpeng/jmod/interfaces/IBlock.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.jeffpeng.jmod.interfaces;

public interface IBlock extends IOwned{
public interface IBlock extends IOwned, IFurnaceFuel{
public String getName();
default public String getPrefix(){
return getOwner().getModId();
Expand Down
6 changes: 6 additions & 0 deletions src/main/java/com/jeffpeng/jmod/interfaces/IFurnaceFuel.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.jeffpeng.jmod.interfaces;

public interface IFurnaceFuel {
abstract public int getBurnTime();
abstract public void setBurnTime(int burntime);
}
3 changes: 1 addition & 2 deletions src/main/java/com/jeffpeng/jmod/interfaces/IItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import net.minecraft.item.Item;


public interface IItem extends IOwned{
public interface IItem extends IOwned, ISettingsProcessor, IFurnaceFuel{



Expand All @@ -25,5 +25,4 @@ default public void register(){
default public void setRecipes(){

}

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package com.jeffpeng.jmod.interfaces;

import com.jeffpeng.jmod.primitives.BasicAction;

public interface ISettingsProcessor {

public abstract void processSettings(ISettingsReceiver settings );
default public void processSettings(BasicAction settings ){
};
//public abstract void processSetting(String k, Object v);

}
22 changes: 0 additions & 22 deletions src/main/java/com/jeffpeng/jmod/interfaces/ISettingsReceiver.java

This file was deleted.

12 changes: 1 addition & 11 deletions src/main/java/com/jeffpeng/jmod/primitives/BasicAction.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,13 @@

import javax.script.Bindings;




import com.jeffpeng.jmod.JMODRepresentation;
import com.jeffpeng.jmod.actions.SharedRoutines;
import com.jeffpeng.jmod.interfaces.IExecutableObject;
import com.jeffpeng.jmod.interfaces.ISettingsReceiver;
import com.jeffpeng.jmod.interfaces.IStagedObject;
import com.jeffpeng.jmod.validator.Validator;

public class BasicAction extends OwnedObject implements IExecutableObject, ISettingsReceiver {
public class BasicAction extends OwnedObject implements IExecutableObject {

protected boolean valid = false;
protected SharedRoutines routines;
Expand All @@ -38,7 +34,6 @@ public void execute() {

}

@Override
public BasicAction set(Bindings o){
for(String key : o.keySet()) settingObjects.put(key, o.get(key));

Expand Down Expand Up @@ -126,9 +121,4 @@ public int compareTo(IStagedObject arg0) {
// TODO Auto-generated method stub
return 0;
}





}
18 changes: 10 additions & 8 deletions src/main/java/com/jeffpeng/jmod/scripting/JScript.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package com.jeffpeng.jmod.scripting;

import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
Expand All @@ -28,6 +27,7 @@ public class JScript {

public void evalScript(String script){
boolean retry = true;
JMOD.LOG.info("###evalScript " + script);

if(JMOD.isServer()){
try {
Expand Down Expand Up @@ -117,21 +117,23 @@ public JScript(JMODRepresentation jmod){
Class[] args = new Class[1];
args[0] = JMODRepresentation.class;

for(Map.Entry<String, String> entry : extraScriptingObjects.entrySet()){
System.out.println("###asodry " + entry.getKey() + " " + entry.getValue());
}

for(Map.Entry<String, String> entry : extraScriptingObjects.entrySet()){
try {
System.out.println("###aso" + globalScope.getClass());
System.out.println("###aso " + globalScope.getClass());
System.out.println("###aso " + entry.getKey() + " " + entry.getValue());
ModScriptObject instance = (ModScriptObject) Class.forName(entry.getValue()).getDeclaredConstructor(args).newInstance(jmod);

System.out.println("###aso did");
((Map<String,Object>)globalScope).put(entry.getKey(), instance);
} catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | SecurityException
| ClassNotFoundException e) {
System.out.println("###aso did");
} catch (Exception e) {
// TODO Auto-generated catch block
JMOD.LOG.warn("Failed to produce scripting object "+entry.getKey());
e.printStackTrace();
continue;
}


}


Expand Down
Loading

0 comments on commit 1bb25c4

Please sign in to comment.