Compare commits
4 Commits
v0.10.0
...
f83d2c220f
| Author | SHA1 | Date | |
|---|---|---|---|
| f83d2c220f | |||
| 74801ef10b | |||
| 7f2f3692c3 | |||
| 0039e70591 |
@@ -137,3 +137,24 @@
|
|||||||
teal (0x167E86), dark_aqua (0x3A8E8C), dark_dull_pink (0x562C3E),
|
teal (0x167E86), dark_aqua (0x3A8E8C), dark_dull_pink (0x562C3E),
|
||||||
bright_teal (0x14B485), deepslate_gray (0x646464),
|
bright_teal (0x14B485), deepslate_gray (0x646464),
|
||||||
raw_iron_pink (0xD8AF93), lichen_green (0x7FA796)
|
raw_iron_pink (0xD8AF93), lichen_green (0x7FA796)
|
||||||
|
|
||||||
|
"renderLayer" ~ string
|
||||||
|
one of:
|
||||||
|
solid, cutout_mipped, cutout, translucent,
|
||||||
|
translucent_moving_block, translucent_no_crumbling,
|
||||||
|
leash, water_mask, armor_glint, armor_entity_glint, glint_translucent,
|
||||||
|
glint, direct_glint, entity_glint, direct_entity_glint, text_background,
|
||||||
|
text_background_see_through, lightning, tripwire, end_portal,
|
||||||
|
end_gateway, lines, line_strip, debug_filled_box, debug_quads,
|
||||||
|
debug_section_quads, gui, gui_overlay, gui_text_highlight,
|
||||||
|
gui_ghost_recipe_overlay
|
||||||
|
different renderLayers allow different graphical effects.
|
||||||
|
Only the first 4 are interesting
|
||||||
|
solid = solid block no transparency
|
||||||
|
stone ...
|
||||||
|
cutout_mipped = 100% or no transparency, ?gets softened far away when mipmapping is enabled?
|
||||||
|
glass, leaves and similar
|
||||||
|
cutout = 100% or no transparency
|
||||||
|
flowers, saplings...
|
||||||
|
translucent = full alpha support
|
||||||
|
ice, stained glass, portal...
|
||||||
|
|||||||
+2
-15
@@ -35,17 +35,6 @@ repositories {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
loom {
|
|
||||||
splitEnvironmentSourceSets()
|
|
||||||
|
|
||||||
mods {
|
|
||||||
"modid" {
|
|
||||||
sourceSet sourceSets.main
|
|
||||||
sourceSet sourceSets.client
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
// To change the versions see the gradle.properties file
|
// To change the versions see the gradle.properties file
|
||||||
@@ -70,15 +59,13 @@ dependencies {
|
|||||||
include(modApi("de.siphalor.tweed4:tweed4-tailor-screen-$project.minecraft_major_version"))
|
include(modApi("de.siphalor.tweed4:tweed4-tailor-screen-$project.minecraft_major_version"))
|
||||||
|
|
||||||
|
|
||||||
modImplementation("me.shedaniel.cloth:cloth-config-fabric:$project.cloth_config_version") {
|
modImplementation("me.shedaniel.cloth:cloth-config-fabric:$project.cloth_config_version")
|
||||||
exclude(group: "net.fabricmc.fabric-api")
|
|
||||||
}
|
|
||||||
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
|
// modImplementation "net.fabricmc.fabric-api:fabric-api-deprecated:${project.fabric_version}"
|
||||||
}
|
}
|
||||||
|
|
||||||
configurations.include.transitive = true
|
configurations.include.transitive = true
|
||||||
configurations.include.dependencies.each {
|
configurations.include.dependencies.each {
|
||||||
if (!it.name.contains("bom")) {
|
if (!it.name.contains("bom") && !it.name.contains("fabric")) {
|
||||||
it.transitive = false
|
it.transitive = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -10,7 +10,7 @@ loader_version=0.14.21
|
|||||||
fabric_version=0.84.0+1.20.1
|
fabric_version=0.84.0+1.20.1
|
||||||
|
|
||||||
#Mod properties
|
#Mod properties
|
||||||
mod_version = 0.10.0
|
mod_version = 0.10.1
|
||||||
maven_group = quimufu.simple_creator
|
maven_group = quimufu.simple_creator
|
||||||
archives_base_name = simple_creator
|
archives_base_name = simple_creator
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,10 +1,10 @@
|
|||||||
pluginManagement {
|
pluginManagement {
|
||||||
repositories {
|
repositories {
|
||||||
jcenter()
|
|
||||||
maven {
|
maven {
|
||||||
name = 'Fabric'
|
name = 'Fabric'
|
||||||
url = 'https://maven.fabricmc.net/'
|
url = 'https://maven.fabricmc.net/'
|
||||||
}
|
}
|
||||||
|
mavenCentral()
|
||||||
gradlePluginPortal()
|
gradlePluginPortal()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -78,6 +78,8 @@ public class BlockResourceLoader extends GenericManualResourceLoader<Pair<Block,
|
|||||||
if (burnChance != -1 && spreadChance != -1) {
|
if (burnChance != -1 && spreadChance != -1) {
|
||||||
FlammableBlockRegistry.getDefaultInstance().add(resB, spreadChance, burnChance);
|
FlammableBlockRegistry.getDefaultInstance().add(resB, spreadChance, burnChance);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SimpleCreatorMod.BLOCKS_RENDER_LAYER.add(new Pair<>(resB, bspj.renderLayer));
|
||||||
return new Pair<>(resB, resI);
|
return new Pair<>(resB, resI);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -29,5 +29,6 @@ public class BlockSettingsPojo {
|
|||||||
public boolean noBlockBreakParticles = false;
|
public boolean noBlockBreakParticles = false;
|
||||||
public boolean requiresTool = false;
|
public boolean requiresTool = false;
|
||||||
public boolean breaksInstantly = false;
|
public boolean breaksInstantly = false;
|
||||||
String mapColor = "stone";
|
public String renderLayer = "solid";
|
||||||
|
public String mapColor = "stone";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,15 +2,19 @@ package quimufu.simple_creator;
|
|||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.JsonObject;
|
import com.google.gson.JsonObject;
|
||||||
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
|
import net.fabricmc.loader.api.ModContainer;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.Pair;
|
import net.minecraft.util.Pair;
|
||||||
import org.apache.logging.log4j.Level;
|
import org.apache.logging.log4j.Level;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Path;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
import static quimufu.simple_creator.SimpleCreatorMod.MOD_ID;
|
||||||
import static quimufu.simple_creator.SimpleCreatorMod.log;
|
import static quimufu.simple_creator.SimpleCreatorMod.log;
|
||||||
|
|
||||||
public abstract class GenericManualResourceLoader<T> {
|
public abstract class GenericManualResourceLoader<T> {
|
||||||
@@ -43,7 +47,7 @@ public abstract class GenericManualResourceLoader<T> {
|
|||||||
|
|
||||||
public void load() {
|
public void load() {
|
||||||
|
|
||||||
if (true) {
|
if (SimpleCreatorConfig.enableTestThings) {
|
||||||
createFromResource("simple_creator/blocks/test_block.json");
|
createFromResource("simple_creator/blocks/test_block.json");
|
||||||
createFromResource("simple_creator/items/test_item.json");
|
createFromResource("simple_creator/items/test_item.json");
|
||||||
}
|
}
|
||||||
@@ -103,10 +107,21 @@ public abstract class GenericManualResourceLoader<T> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void createFromResource(String path) {
|
private static void createFromResource(String path) {
|
||||||
try (InputStream blocks = ClassLoader.getSystemClassLoader().getResourceAsStream("data/" + path)) {
|
Optional<ModContainer> modContainerOp = FabricLoader.getInstance().getModContainer(MOD_ID);
|
||||||
|
if(modContainerOp.isEmpty()){
|
||||||
|
log(Level.ERROR,"ModContainer " + MOD_ID + " not Found" );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Optional<Path> nioPath = modContainerOp
|
||||||
|
.flatMap(modContainer -> modContainer.findPath("data/" + path));
|
||||||
|
if(nioPath.isEmpty()){
|
||||||
|
log(Level.ERROR,"data/" + path + " Not Found" );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
try (InputStream blocks = Files.newInputStream(nioPath.get())) {
|
||||||
|
|
||||||
File file = new File("./simplyCreated/" + path);
|
File file = new File("./simplyCreated/" + path);
|
||||||
if (!file.exists() && blocks != null) {
|
if (!file.exists()) {
|
||||||
|
|
||||||
File parent = file.getParentFile();
|
File parent = file.getParentFile();
|
||||||
if (parent != null && !parent.exists() && !parent.mkdirs()) {
|
if (parent != null && !parent.exists() && !parent.mkdirs()) {
|
||||||
|
|||||||
@@ -1,12 +1,24 @@
|
|||||||
package quimufu.simple_creator;
|
package quimufu.simple_creator;
|
||||||
|
|
||||||
|
import de.siphalor.tweed4.Tweed;
|
||||||
|
import de.siphalor.tweed4.config.ConfigEnvironment;
|
||||||
|
import de.siphalor.tweed4.config.ConfigLoader;
|
||||||
|
import de.siphalor.tweed4.config.TweedRegistry;
|
||||||
|
import net.fabricmc.api.EnvType;
|
||||||
import net.fabricmc.api.ModInitializer;
|
import net.fabricmc.api.ModInitializer;
|
||||||
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.util.Pair;
|
||||||
import org.apache.logging.log4j.Level;
|
import org.apache.logging.log4j.Level;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class SimpleCreatorMod implements ModInitializer {
|
public class SimpleCreatorMod implements ModInitializer {
|
||||||
|
|
||||||
|
public static List<Pair<Block, String>> BLOCKS_RENDER_LAYER = new ArrayList<>();
|
||||||
public static Logger LOGGER = LogManager.getLogger();
|
public static Logger LOGGER = LogManager.getLogger();
|
||||||
public static ItemResourceLoader irl = new ItemResourceLoader();
|
public static ItemResourceLoader irl = new ItemResourceLoader();
|
||||||
public static BlockResourceLoader brl = new BlockResourceLoader();
|
public static BlockResourceLoader brl = new BlockResourceLoader();
|
||||||
@@ -17,6 +29,12 @@ public class SimpleCreatorMod implements ModInitializer {
|
|||||||
@Override
|
@Override
|
||||||
public void onInitialize() {
|
public void onInitialize() {
|
||||||
log(Level.INFO, "Initializing");
|
log(Level.INFO, "Initializing");
|
||||||
|
Tweed.runEntryPoints();
|
||||||
|
|
||||||
|
ConfigLoader.initialReload(
|
||||||
|
TweedRegistry.getConfigFile(MOD_ID),
|
||||||
|
FabricLoader.getInstance().getEnvironmentType() == EnvType.SERVER ? ConfigEnvironment.SERVER : ConfigEnvironment.UNIVERSAL
|
||||||
|
);
|
||||||
irl.load();
|
irl.load();
|
||||||
brl.load();
|
brl.load();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,89 @@
|
|||||||
|
package quimufu.simple_creator;
|
||||||
|
|
||||||
|
import net.fabricmc.api.ClientModInitializer;
|
||||||
|
import net.fabricmc.api.EnvType;
|
||||||
|
import net.fabricmc.api.Environment;
|
||||||
|
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.client.render.RenderLayer;
|
||||||
|
import net.minecraft.util.Pair;
|
||||||
|
import org.apache.logging.log4j.Level;
|
||||||
|
|
||||||
|
@Environment(EnvType.CLIENT)
|
||||||
|
public class SimpleCreatorModClient implements ClientModInitializer {
|
||||||
|
@Override
|
||||||
|
public void onInitializeClient() {
|
||||||
|
SimpleCreatorMod.log(Level.INFO, "Client init");
|
||||||
|
for (Pair<Block, String> blockRenderLayerPair : SimpleCreatorMod.BLOCKS_RENDER_LAYER) {
|
||||||
|
BlockRenderLayerMap.INSTANCE.putBlock(blockRenderLayerPair.getLeft(), getRenderLayer(blockRenderLayerPair.getRight()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private net.minecraft.client.render.RenderLayer getRenderLayer(String renderLayer) {
|
||||||
|
switch (renderLayer.toUpperCase()){
|
||||||
|
case "SOLID":
|
||||||
|
return RenderLayer.getSolid();
|
||||||
|
case "CUTOUT_MIPPED":
|
||||||
|
return RenderLayer.getCutoutMipped();
|
||||||
|
case "CUTOUT":
|
||||||
|
return RenderLayer.getCutout();
|
||||||
|
case "TRANSLUCENT":
|
||||||
|
return RenderLayer.getTranslucent();
|
||||||
|
case "TRANSLUCENT_MOVING_BLOCK":
|
||||||
|
return RenderLayer.getTranslucentMovingBlock();
|
||||||
|
case "TRANSLUCENT_NO_CRUMBLING":
|
||||||
|
return RenderLayer.getTranslucentNoCrumbling();
|
||||||
|
case "LEASH":
|
||||||
|
return RenderLayer.getLeash();
|
||||||
|
case "WATER_MASK":
|
||||||
|
return RenderLayer.getWaterMask();
|
||||||
|
case "ARMOR_GLINT":
|
||||||
|
return RenderLayer.getArmorGlint();
|
||||||
|
case "ARMOR_ENTITY_GLINT":
|
||||||
|
return RenderLayer.getArmorEntityGlint();
|
||||||
|
case "GLINT_TRANSLUCENT":
|
||||||
|
return RenderLayer.getGlintTranslucent();
|
||||||
|
case "GLINT":
|
||||||
|
return RenderLayer.getGlint();
|
||||||
|
case "DIRECT_GLINT":
|
||||||
|
return RenderLayer.getDirectGlint();
|
||||||
|
case "ENTITY_GLINT":
|
||||||
|
return RenderLayer.getEntityGlint();
|
||||||
|
case "DIRECT_ENTITY_GLINT":
|
||||||
|
return RenderLayer.getDirectEntityGlint();
|
||||||
|
case "TEXT_BACKGROUND":
|
||||||
|
return RenderLayer.getTextBackground();
|
||||||
|
case "TEXT_BACKGROUND_SEE_THROUGH":
|
||||||
|
return RenderLayer.getTextBackgroundSeeThrough();
|
||||||
|
case "LIGHTNING":
|
||||||
|
return RenderLayer.getLightning();
|
||||||
|
case "TRIPWIRE":
|
||||||
|
return RenderLayer.getTripwire();
|
||||||
|
case "END_PORTAL":
|
||||||
|
return RenderLayer.getEndPortal();
|
||||||
|
case "END_GATEWAY":
|
||||||
|
return RenderLayer.getEndGateway();
|
||||||
|
case "LINES":
|
||||||
|
return RenderLayer.getLines();
|
||||||
|
case "LINE_STRIP":
|
||||||
|
return RenderLayer.getLineStrip();
|
||||||
|
case "DEBUG_FILLED_BOX":
|
||||||
|
return RenderLayer.getDebugFilledBox();
|
||||||
|
case "DEBUG_QUADS":
|
||||||
|
return RenderLayer.getDebugQuads();
|
||||||
|
case "DEBUG_SECTION_QUADS":
|
||||||
|
return RenderLayer.getDebugSectionQuads();
|
||||||
|
case "GUI":
|
||||||
|
return RenderLayer.getGui();
|
||||||
|
case "GUI_OVERLAY":
|
||||||
|
return RenderLayer.getGuiOverlay();
|
||||||
|
case "GUI_TEXT_HIGHLIGHT":
|
||||||
|
return RenderLayer.getGuiTextHighlight();
|
||||||
|
case "GUI_GHOST_RECIPE_OVERLAY":
|
||||||
|
return RenderLayer.getGuiGhostRecipeOverlay();
|
||||||
|
default:
|
||||||
|
SimpleCreatorMod.log(Level.INFO, "Could not find renderLayer " + renderLayer + " using solid");
|
||||||
|
return RenderLayer.getSolid();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
{
|
{
|
||||||
"material": "ice",
|
|
||||||
"mapColor": "yellow",
|
"mapColor": "yellow",
|
||||||
"collidable": true,
|
"collidable": true,
|
||||||
"soundGroup": "wool",
|
"soundGroup": "wool",
|
||||||
@@ -13,5 +12,20 @@
|
|||||||
"slowDownMultiplier": 2.0,
|
"slowDownMultiplier": 2.0,
|
||||||
"jumpVelocityMultiplier": 2.0,
|
"jumpVelocityMultiplier": 2.0,
|
||||||
"opaque": true,
|
"opaque": true,
|
||||||
"itemGroup": "food"
|
"itemGroup": "minecraft:building_blocks",
|
||||||
|
"allowsSpawning": true,
|
||||||
|
"solidBlock": true,
|
||||||
|
"suffocates": true,
|
||||||
|
"blockVision": true,
|
||||||
|
"postProcess": false,
|
||||||
|
"emissiveLighting": false,
|
||||||
|
"modelOffset": "none",
|
||||||
|
"pistonBehavior": "normal",
|
||||||
|
"instrument": "harp",
|
||||||
|
"burnable": false,
|
||||||
|
"replaceable": false,
|
||||||
|
"noBlockBreakParticles": false,
|
||||||
|
"requiresTool": false,
|
||||||
|
"breaksInstantly": false,
|
||||||
|
"renderLayer": "solid"
|
||||||
}
|
}
|
||||||
@@ -16,15 +16,16 @@
|
|||||||
"main": [
|
"main": [
|
||||||
"quimufu.simple_creator.SimpleCreatorMod"
|
"quimufu.simple_creator.SimpleCreatorMod"
|
||||||
],
|
],
|
||||||
"client": [],
|
"client": [
|
||||||
"server": [],
|
"quimufu.simple_creator.SimpleCreatorModClient"
|
||||||
|
],
|
||||||
"tweed4:config": [
|
"tweed4:config": [
|
||||||
"quimufu.simple_creator.SimpleCreatorConfig"
|
"quimufu.simple_creator.SimpleCreatorConfig"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"mixins": [],
|
"mixins": [],
|
||||||
"depends": {
|
"depends": {
|
||||||
"fabricloader": ">=0.4.0",
|
"fabricloader": ">=0.14.21",
|
||||||
"fabric": "*"
|
"fabric": "*"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user