Merge remote-tracking branch 'remotes/origin/1.15' into 1.16

# Conflicts:
#	src/main/java/techreborn/events/ModRegistry.java
This commit is contained in:
modmuss50 2020-04-26 00:28:17 +01:00
commit 71d88ae44a
40 changed files with 666 additions and 68 deletions

View file

@ -26,15 +26,25 @@ package techreborn;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.fabric.api.client.itemgroup.FabricItemGroupBuilder;
import net.fabricmc.fabric.api.event.player.UseBlockCallback;
import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.block.Block;
import net.minecraft.block.BlockState;
import net.minecraft.block.ComposterBlock;
import net.minecraft.block.PillarBlock;
import net.minecraft.entity.LivingEntity;
import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.fluid.Fluids;
import net.minecraft.item.AxeItem;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.sound.SoundCategory;
import net.minecraft.sound.SoundEvents;
import net.minecraft.util.ActionResult;
import net.minecraft.util.Identifier;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import net.minecraft.util.math.BlockPos;
import reborncore.common.blockentity.RedstoneConfiguration;
import reborncore.common.config.Configuration;
import reborncore.common.recipes.RecipeCrafter;
@ -104,6 +114,44 @@ public class TechReborn implements ModInitializer {
RedstoneConfiguration.fluidStack = DynamicCellItem.getCellWithFluid(Fluids.LAVA);
RedstoneConfiguration.powerStack = new ItemStack(TRContent.RED_CELL_BATTERY);
UseBlockCallback.EVENT.register((player, world, hand, hitResult) -> {
ItemStack stack = player.getStackInHand(hand);
if (stack.getItem() instanceof AxeItem) {
BlockPos pos = hitResult.getBlockPos();
BlockState hitState = world.getBlockState(pos);
Block hitBlock = hitState.getBlock();
Block strippedBlock = null;
if (hitBlock == TRContent.RUBBER_LOG) {
strippedBlock = TRContent.RUBBER_LOG_STRIPPED;
} else if (hitBlock == TRContent.RUBBER_WOOD) {
strippedBlock = TRContent.STRIPPED_RUBBER_WOOD;
}
if (strippedBlock != null) {
// Play stripping sound
world.playSound(player, pos, SoundEvents.ITEM_AXE_STRIP, SoundCategory.BLOCKS, 1.0F, 1.0F);
if (world.isClient) {
return ActionResult.SUCCESS;
}
world.setBlockState(pos, strippedBlock.getDefaultState().with(PillarBlock.AXIS, hitState.get(PillarBlock.AXIS)), 11);
// Damage axe
if (player instanceof LivingEntity) {
LivingEntity playerEntity = (LivingEntity) player;
stack.damage(1, playerEntity, playerx -> {
playerx.sendToolBreakStatus(hand);
});
}
return ActionResult.SUCCESS;
}
}
return ActionResult.PASS;
});
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.RUBBER_SAPLING.asItem(), 0.3F);
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.RUBBER_LEAVES.asItem(), 0.3F);
ComposterBlock.ITEM_TO_LEVEL_INCREASE_CHANCE.put(TRContent.Parts.PLANTBALL.asItem(), 1F);

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.blockentity.machine.misc;
import net.minecraft.block.entity.BlockEntityType;

View file

@ -132,19 +132,6 @@ public class BlockRubberLog extends PillarBlock {
return ActionResult.PASS;
}
if (stack.getItem() instanceof AxeItem) {
worldIn.playSound(playerIn, pos, SoundEvents.ITEM_AXE_STRIP, SoundCategory.BLOCKS, 1.0F, 1.0F);
if (worldIn.isClient) {
return ActionResult.SUCCESS;
}
worldIn.setBlockState(pos, TRContent.RUBBER_LOG_STRIPPED.getDefaultState().with(PillarBlock.AXIS, state.get(PillarBlock.AXIS)), 11);
if (playerIn instanceof LivingEntity) {
LivingEntity playerEntity = (LivingEntity) playerIn;
stack.damage(1, playerEntity, player -> { player.sendToolBreakStatus(hand); });
}
return ActionResult.SUCCESS;
}
if ((Energy.valid(stack) && Energy.of(stack).getEnergy() > 20 && stack.getItem() instanceof ElectricTreetapItem) || stack.getItem() instanceof TreeTapItem) {
if (state.get(HAS_SAP) && state.get(SAP_SIDE) == hitResult.getSide()) {
worldIn.setBlockState(pos, state.with(HAS_SAP, false).with(SAP_SIDE, Direction.fromHorizontal(0)));

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.client;
import net.fabricmc.api.EnvType;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.client.render.entitys;
import net.minecraft.block.BlockState;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.client.render.entitys;
import net.minecraft.client.MinecraftClient;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.client.render.entitys;
import net.minecraft.client.model.Model;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.compat.rei;
import me.shedaniel.rei.api.EntryStack;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.compat.rei;
import me.shedaniel.rei.impl.FluidEntryStack;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.compat.rei;
import me.shedaniel.rei.impl.ItemEntryStack;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.compat.trinkets;
import dev.emi.trinkets.api.TrinketComponent;

View file

@ -590,51 +590,147 @@ public class TechRebornConfig {
@Config(config = "world", category = "ore", key = "enableBauxiteOre", comment = "Generate Bauxite Ore in The Overworld.")
public static boolean enableBauxiteOre = true;
@Config(config = "world", category = "ore", key = "bauxiteVeinCount", comment = "Count of Bauxite Ore veins per chunk.")
public static int bauxiteVeinCount = 10;
@Config(config = "world", category = "ore", key = "bauxiteVeinSize", comment = "Amount of Bauxite Ores per vein.")
public static int bauxiteVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableCopperOre", comment = "Generate Copper Ore in The Overworld.")
public static boolean enableCopperOre = true;
@Config(config = "world", category = "ore", key = "copperVeinCount", comment = "Count of Copper Ore veins per chunk.")
public static int copperVeinCount = 16;
@Config(config = "world", category = "ore", key = "copperVeinSize", comment = "Amount of Copper Ores per vein.")
public static int copperVeinSize = 8;
@Config(config = "world", category = "ore", key = "enableGalenaOre", comment = "Generate Galena Ore in The Overworld.")
public static boolean enableGalenaOre = true;
@Config(config = "world", category = "ore", key = "galenaVeinCount", comment = "Count of Galena Ore veins per chunk.")
public static int galenaVeinCount = 16;
@Config(config = "world", category = "ore", key = "galenaVeinSize", comment = "Amount of Galena Ores per vein.")
public static int galenaVeinSize = 8;
@Config(config = "world", category = "ore", key = "enableIridiumOre", comment = "Generate Iridium Ore in The Overworld.")
public static boolean enableIridiumOre = true;
@Config(config = "world", category = "ore", key = "iridiumVeinCount", comment = "Count of Iridium Ore veins per chunk.")
public static int iridiumVeinCount = 3;
@Config(config = "world", category = "ore", key = "iridiumVeinSize", comment = "Amount of Iridium Ores per vein.")
public static int iridiumVeinSize = 3;
@Config(config = "world", category = "ore", key = "enableLeadOre", comment = "Generate Lead Ore in The Overworld.")
public static boolean enableLeadOre = true;
@Config(config = "world", category = "ore", key = "leadVeinCount", comment = "Count of Lead Ore veins per chunk.")
public static int leadVeinCount = 16;
@Config(config = "world", category = "ore", key = "leadVeinSize", comment = "Amount of Lead Ores per vein.")
public static int leadVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableRubyOre", comment = "Generate Ruby Ore in The Overworld.")
public static boolean enableRubyOre = true;
@Config(config = "world", category = "ore", key = "rubyVeinCount", comment = "Count of Ruby Ore veins per chunk.")
public static int rubyVeinCount = 3;
@Config(config = "world", category = "ore", key = "rubyVeinSize", comment = "Amount of Ruby Ores per vein.")
public static int rubyVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableSapphireOre", comment = "Generate Sapphire Ore in The Overworld.")
public static boolean enableSapphireOre = true;
@Config(config = "world", category = "ore", key = "sapphireVeinCount", comment = "Count of Sapphire Ore veins per chunk.")
public static int sapphireVeinCount = 3;
@Config(config = "world", category = "ore", key = "sapphireVeinSize", comment = "Amount of Sapphire Ores per vein.")
public static int sapphireVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableSilverOre", comment = "Generate Silver Ore in The Overworld.")
public static boolean enableSilverOre = true;
@Config(config = "world", category = "ore", key = "silverVeinCount", comment = "Count of Silver Ore veins per chunk.")
public static int silverVeinCount = 16;
@Config(config = "world", category = "ore", key = "silverVeinSize", comment = "Amount of Silver Ores per vein.")
public static int silverVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableTinOre", comment = "Generate Tin Ore in The Overworld.")
public static boolean enableTinOre = true;
@Config(config = "world", category = "ore", key = "tinVeinCount", comment = "Count of Tin Ore veins per chunk.")
public static int tinVeinCount = 16;
@Config(config = "world", category = "ore", key = "tinVeinSize", comment = "Amount of Tin Ores per vein.")
public static int tinVeinSize = 8;
@Config(config = "world", category = "ore", key = "enableCinnabarOre", comment = "Generate Cinnabar Ore in The Nether.")
public static boolean enableCinnabarOre = true;
@Config(config = "world", category = "ore", key = "cinnabarVeinCount", comment = "Count of Cinnabar Ore veins per chunk.")
public static int cinnabarVeinCount = 3;
@Config(config = "world", category = "ore", key = "cinnabarVeinSize", comment = "Amount of Cinnabar Ores per vein.")
public static int cinnabarVeinSize = 6;
@Config(config = "world", category = "ore", key = "enablePyriteOre", comment = "Generate Pyrite Ore in The Nether.")
public static boolean enablePyriteOre = true;
@Config(config = "world", category = "ore", key = "pyriteVeinCount", comment = "Count of Pyrite Ore veins per chunk.")
public static int pyriteVeinCount = 3;
@Config(config = "world", category = "ore", key = "pyriteVeinSize", comment = "Amount of Pyrite Ores per vein.")
public static int pyriteVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableSphaleriteOre", comment = "Generate Sphalerite Ore in The Nether.")
public static boolean enableSphaleriteOre = true;
@Config(config = "world", category = "ore", key = "sphaleriteVeinCount", comment = "Count of Sphalerite Ore veins per chunk.")
public static int sphaleriteVeinCount = 3;
@Config(config = "world", category = "ore", key = "sphaleriteVeinSize", comment = "Amount of Sphalerite Ores per vein.")
public static int sphaleriteVeinSize = 6;
@Config(config = "world", category = "ore", key = "enablePeridotOre", comment = "Generate Peridot Ore in The End.")
public static boolean enablePeridotOre = true;
@Config(config = "world", category = "ore", key = "peridotVeinCount", comment = "Count of Peridot Ore veins per chunk.")
public static int peridotVeinCount = 3;
@Config(config = "world", category = "ore", key = "peridotVeinSize", comment = "Amount of Peridot Ores per vein.")
public static int peridotVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableSheldoniteOre", comment = "Generate Sheldonite Ore in The End.")
public static boolean enableSheldoniteOre = true;
@Config(config = "world", category = "ore", key = "sheldoniteVeinCount", comment = "Count of Sheldonite Ore veins per chunk.")
public static int sheldoniteVeinCount = 3;
@Config(config = "world", category = "ore", key = "sheldoniteVeinSize", comment = "Amount of Sheldonite Ores per vein.")
public static int sheldoniteVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableSodaliteOre", comment = "Generate Sodalite Ore in The End.")
public static boolean enableSodaliteOre = true;
@Config(config = "world", category = "ore", key = "sodaliteVeinCount", comment = "Count of Sodalite Ore veins per chunk.")
public static int sodaliteVeinCount = 3;
@Config(config = "world", category = "ore", key = "sodaliteVeinSize", comment = "Amount of Sodalite Ores per vein.")
public static int sodaliteVeinSize = 6;
@Config(config = "world", category = "ore", key = "enableTungstenOre", comment = "Generate Tungsten Ore in The End.")
public static boolean enableTungstenOre = true;
@Config(config = "world", category = "ore", key = "tungstenVeinCount", comment = "Count of Tungsten Ore veins per chunk.")
public static int tungstenVeinCount = 3;
@Config(config = "world", category = "ore", key = "tungstenVeinSize", comment = "Amount of Tungsten Ores per vein.")
public static int tungstenVeinSize = 6;
@Config(config = "world", category = "rubber_tree", key = "RubberTreeChance", comment = "Chance to spawn rubber tree")
public static float RubberTreeChance = 0.1F;

View file

@ -146,6 +146,8 @@ public class TRContent {
public static Block RUBBER_PRESSURE_PLATE;
public static Block RUBBER_DOOR;
public static Block RUBBER_LOG_STRIPPED;
public static Block RUBBER_WOOD;
public static Block STRIPPED_RUBBER_WOOD;
// Armor
public static Item CLOAKING_DEVICE;
@ -408,22 +410,22 @@ public class TRContent {
}
public enum Ores implements ItemConvertible {
BAUXITE(6, 10, 10, 60),
CINNABAR(6, 3, 10, 126),
COPPER(8, 16, 20, 60),
GALENA(8, 16, 10, 60),
IRIDIUM(3, 3, 5, 60),
LEAD(6, 16, 20, 60),
PERIDOT(6, 3, 10, 250),
PYRITE(6, 3, 10, 126),
RUBY(6, 3, 10, 60),
SAPPHIRE(6, 3, 10, 60),
SHELDONITE(6, 3, 10, 250),
SILVER(6, 16, 20, 60),
SODALITE(6, 3, 10, 250),
SPHALERITE(6, 3, 10, 126),
TIN(8, 16, 20, 60),
TUNGSTEN(6, 3, 10, 250);
BAUXITE(TechRebornConfig.bauxiteVeinSize, TechRebornConfig.bauxiteVeinCount, 10, 60),
CINNABAR(TechRebornConfig.cinnabarVeinSize, TechRebornConfig.cinnabarVeinCount, 10, 126),
COPPER(TechRebornConfig.copperVeinSize, TechRebornConfig.copperVeinCount, 20, 60),
GALENA(TechRebornConfig.galenaVeinSize, TechRebornConfig.galenaVeinCount, 10, 60),
IRIDIUM(TechRebornConfig.iridiumVeinSize, TechRebornConfig.iridiumVeinCount, 5, 60),
LEAD(TechRebornConfig.leadVeinSize, TechRebornConfig.leadVeinCount, 20, 60),
PERIDOT(TechRebornConfig.peridotVeinSize, TechRebornConfig.peridotVeinCount, 10, 250),
PYRITE(TechRebornConfig.pyriteVeinSize, TechRebornConfig.pyriteVeinCount, 10, 126),
RUBY(TechRebornConfig.rubyVeinSize, TechRebornConfig.rubyVeinCount, 10, 60),
SAPPHIRE(TechRebornConfig.sapphireVeinSize, TechRebornConfig.sapphireVeinCount, 10, 60),
SHELDONITE(TechRebornConfig.sheldoniteVeinSize, TechRebornConfig.sheldoniteVeinCount, 10, 250),
SILVER(TechRebornConfig.silverVeinSize, TechRebornConfig.silverVeinCount, 20, 60),
SODALITE(TechRebornConfig.sodaliteVeinSize, TechRebornConfig.sodaliteVeinCount, 10, 250),
SPHALERITE(TechRebornConfig.sphaleriteVeinSize, TechRebornConfig.sphaleriteVeinCount, 10, 126),
TIN(TechRebornConfig.tinVeinSize, TechRebornConfig.tinVeinCount, 20, 60),
TUNGSTEN(TechRebornConfig.tungstenVeinSize, TechRebornConfig.tungstenVeinCount, 10, 250);
public final String name;
public final Block block;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.init;
import net.minecraft.block.Block;
@ -85,10 +109,8 @@ public class TRDispenserBehavior {
this.dispense(pointer, emptyCell);
}
}
return stack;
} else {
return this.dispense(pointer, stack);
}
return stack;
}
}
});

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.items.tool;
import net.fabricmc.api.EnvType;

View file

@ -1,3 +1,27 @@
/*
* This file is part of TechReborn, licensed under the MIT License (MIT).
*
* Copyright (c) 2020 TechReborn
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package techreborn.utils;
// Interface which when implemented by a Block will add a WIP tooltip

View file

@ -0,0 +1,7 @@
{
"variants": {
"axis=y": { "model": "techreborn:block/rubber/rubber_wood" },
"axis=z": { "model": "techreborn:block/rubber/rubber_wood", "x": 90 },
"axis=x": { "model": "techreborn:block/rubber/rubber_wood", "x": 90, "y": 90 }
}
}

View file

@ -0,0 +1,7 @@
{
"variants": {
"axis=y": { "model": "techreborn:block/rubber/stripped_rubber_wood" },
"axis=z": { "model": "techreborn:block/rubber/stripped_rubber_wood", "x": 90 },
"axis=x": { "model": "techreborn:block/rubber/stripped_rubber_wood", "x": 90, "y": 90 }
}
}

View file

@ -99,19 +99,21 @@
"block.techreborn.greenhouse_controller": "Greenhouse controller",
"_comment1": "Blocks",
"block.techreborn.rubber_log": "Rubber Wood",
"block.techreborn.rubber_log_stripped": "Stripped Rubber Wood",
"block.techreborn.rubber_planks": "Rubber Wood Planks",
"block.techreborn.rubber_plank_slab": "Rubber Wood Plank Slab",
"block.techreborn.rubber_plank_stair": "Rubber Wood Plank Stairs",
"block.techreborn.rubber_leaves": "Rubber Wood Leaves",
"block.techreborn.rubber_sapling": "Rubber Wood Sapling",
"block.techreborn.rubber_fence": "Rubber Wood Fence",
"block.techreborn.rubber_fence_gate": "Rubber Wood Fence Gate",
"block.techreborn.rubber_trapdoor": "Rubber Wood Trapdoor",
"block.techreborn.rubber_button": "Rubber Wood Button",
"block.techreborn.rubber_pressure_plate": "Rubber Wood Pressure Plate",
"block.techreborn.rubber_door": "Rubber Wood Door",
"block.techreborn.rubber_log": "Rubber Log",
"block.techreborn.rubber_log_stripped": "Stripped Rubber Log",
"block.techreborn.rubber_wood": "Rubber Wood",
"block.techreborn.stripped_rubber_wood": "Stripped Rubber Wood",
"block.techreborn.rubber_planks": "Rubber Planks",
"block.techreborn.rubber_plank_slab": "Rubber Slab",
"block.techreborn.rubber_plank_stair": "Rubber Stairs",
"block.techreborn.rubber_leaves": "Rubber Leaves",
"block.techreborn.rubber_sapling": "Rubber Sapling",
"block.techreborn.rubber_fence": "Rubber Fence",
"block.techreborn.rubber_fence_gate": "Rubber Fence Gate",
"block.techreborn.rubber_trapdoor": "Rubber Trapdoor",
"block.techreborn.rubber_button": "Rubber Button",
"block.techreborn.rubber_pressure_plate": "Rubber Pressure Plate",
"block.techreborn.rubber_door": "Rubber Door",
"block.techreborn.refined_iron_fence": "Iron Fence",
"block.techreborn.reinforced_glass": "Reinforced Glass",

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/cube_column",
"textures": {
"end": "techreborn:block/rubber_log_side",
"side": "techreborn:block/rubber_log_side"
}
}

View file

@ -0,0 +1,7 @@
{
"parent": "minecraft:block/cube_column",
"textures": {
"end": "techreborn:block/stripped_rubber_log_side",
"side": "techreborn:block/stripped_rubber_log_side"
}
}

View file

@ -0,0 +1,3 @@
{
"parent": "techreborn:block/rubber/rubber_wood"
}

View file

@ -0,0 +1,3 @@
{
"parent": "techreborn:block/rubber/stripped_rubber_wood"
}

View file

@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"techreborn:rubber_log"
"#techreborn:rubber_logs"
]
}

View file

@ -1,6 +1,6 @@
{
"replace": false,
"values": [
"techreborn:rubber_log"
"#techreborn:rubber_logs"
]
}

View file

@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:rubber_wood"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -0,0 +1,19 @@
{
"type": "minecraft:block",
"pools": [
{
"rolls": 1,
"entries": [
{
"type": "minecraft:item",
"name": "techreborn:stripped_rubber_wood"
}
],
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
]
}
]
}

View file

@ -4,7 +4,8 @@
"time": 2050,
"ingredients": [
{
"item": "techreborn:marble_dust"
"item": "techreborn:marble_dust",
"count": 8
}
],
"results": [
@ -16,4 +17,4 @@
"count": 7
}
]
}
}

View file

@ -4,7 +4,7 @@
"time": 5000,
"ingredients": [
{
"item": "techreborn:rubber_log",
"tag": "techreborn:rubber_logs",
"count": 16
},
{

View file

@ -3,7 +3,7 @@
"group": "planks",
"ingredients": [
{
"item": "techreborn:rubber_log"
"tag": "techreborn:rubber_logs"
}
],
"result": {

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"item": "techreborn:rubber_log"
}
},
"result": {
"item": "techreborn:rubber_wood",
"count": 3
}
}

View file

@ -0,0 +1,16 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"##",
"##"
],
"key": {
"#": {
"item": "techreborn:rubber_log_stripped"
}
},
"result": {
"item": "techreborn:stripped_rubber_wood",
"count": 3
}
}

View file

@ -0,0 +1,29 @@
{
"type": "minecraft:crafting_shaped",
"pattern": [
"WWW",
"WBW",
"WPW"
],
"key": {
"B": {
"tag": "blockus:barrels"
},
"P": {
"item": "minecraft:paper"
},
"W": {
"tag": "minecraft:planks"
}
},
"result": {
"item": "techreborn:crude_storage_unit"
},
"conditions": {
"reborncore:tag": "blockus:barrels"
}
}

View file

@ -4,7 +4,7 @@
"time": 300,
"ingredients": [
{
"item": "techreborn:rubber_log"
"tag": "techreborn:rubber_logs"
}
],
"results": [

View file

@ -1,15 +0,0 @@
{
"type": "techreborn:extractor",
"power": 10,
"time": 300,
"ingredients": [
{
"item": "techreborn:rubber_log_stripped"
}
],
"results": [
{
"item": "techreborn:rubber"
}
]
}

View file

@ -0,0 +1,21 @@
{
"type": "techreborn:grinder",
"power": 2,
"time": 180,
"ingredients" : [
{
"tag": "c:limestone"
}
],
"results" : [
{
"item": "techreborn:marble_dust"
}
],
"conditions": {
"reborncore:tag": "c:limestone"
}
}

View file

@ -0,0 +1,21 @@
{
"type": "techreborn:grinder",
"power": 2,
"time": 180,
"ingredients" : [
{
"tag": "c:marble"
}
],
"results" : [
{
"item": "techreborn:marble_dust"
}
],
"conditions": {
"reborncore:tag": "c:marble"
}
}

View file

@ -8,7 +8,7 @@
},
"ingredients": [
{
"item": "techreborn:rubber_log"
"tag": "techreborn:rubber_logs"
}
],
"results": [

View file

@ -0,0 +1,8 @@
{
"values": [
"techreborn:rubber_log",
"techreborn:rubber_log_stripped",
"techreborn:rubber_wood",
"techreborn:stripped_rubber_wood"
]
}

View file

@ -0,0 +1,8 @@
{
"values": [
"techreborn:rubber_log",
"techreborn:rubber_log_stripped",
"techreborn:rubber_wood",
"techreborn:stripped_rubber_wood"
]
}