Skip to content

Commit 2036353

Browse files
committed
port 0.15 to forge
1 parent ce4a9c0 commit 2036353

File tree

7,665 files changed

+8252
-80638
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

7,665 files changed

+8252
-80638
lines changed

common/src/main/java/cc/cassian/pyrite/Pyrite.java

Lines changed: 63 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cc.cassian.pyrite;
22

3+
import cc.cassian.pyrite.functions.ModHelpers;
34
import net.minecraft.block.*;
45
import net.minecraft.particle.DustParticleEffect;
56
import net.minecraft.particle.ParticleTypes;
@@ -16,91 +17,113 @@ public class Pyrite {
1617

1718

1819
public static void init() {
19-
//Framed Glass
20+
// Framed Glass
2021
createPyriteBlock("framed_glass","glass", 2.0f, MapColor.CLEAR, 0);
21-
//Framed Glass Pane
22+
// Framed Glass Pane
2223
createPyriteBlock( "framed_glass_pane","glass_pane", 2.0f, MapColor.CLEAR, 0);
23-
//Cobblestone Bricks
24+
// Switchable Glass
25+
createPyriteBlock("switchable_glass", "switchable_glass", Blocks.GLASS);
26+
// Cobblestone Bricks
2427
generateBrickSet("cobblestone_brick", Blocks.COBBLESTONE, MapColor.STONE_GRAY, 0);
25-
//Mossy Cobblestone Bricks
28+
// Mossy Cobblestone Bricks
2629
generateBrickSet("mossy_cobblestone_brick", Blocks.MOSSY_COBBLESTONE, MapColor.STONE_GRAY, 0);
2730
generateBrickSet("smooth_stone_brick", Blocks.COBBLESTONE, MapColor.STONE_GRAY, 0);
28-
//Grass Set
31+
// Grass Set
2932
generateTurfSets();
30-
//Nether Brick Fence Gate
33+
// Nether Brick Fence Gate
3134
createPyriteBlock("nether_brick_fence_gate","fence_gate", Blocks.NETHER_BRICK_FENCE);
32-
//Resource Blocks
35+
// Resource Blocks
3336
generateResourceBlocks();
34-
//Torch Levers
37+
// Torch Levers
3538
createTorchLever("torch_lever", Blocks.TORCH, ParticleTypes.FLAME);
3639
createTorchLever("redstone_torch_lever", Blocks.SOUL_TORCH, DustParticleEffect.DEFAULT);
3740
createTorchLever("soul_torch_lever", Blocks.TORCH, ParticleTypes.SOUL_FIRE_FLAME);
38-
//Lamps
41+
// Lamps
3942
createPyriteBlock("lit_redstone_lamp", "block", Blocks.REDSTONE_LAMP, 15);
4043
createPyriteBlock("glowstone_lamp","block", 0.3f, MapColor.YELLOW, 15);
41-
//Classic Features
44+
// Classic Features
4245
createPyriteBlock("glowing_obsidian","obsidian", 50f, MapColor.RED, 15);
4346
createPyriteBlock("nostalgia_glowing_obsidian","obsidian", 50f, MapColor.RED, 15);
4447
createPyriteBlock("locked_chest", "facing", Blocks.CHEST, 15);
4548
generateNostalgiaBlocks();
46-
//Classic Flowers
49+
// Classic Flowers
4750
generateFlowers();
48-
//Charred Nether Bricks
51+
// Charred Nether Bricks
4952
generateBrickSet("charred_nether_brick", Blocks.NETHER_BRICKS, MapColor.BLACK, 0);
50-
//Blue Nether Bricks
53+
// Blue Nether Bricks
5154
generateBrickSet("blue_nether_brick", Blocks.NETHER_BRICKS, MapColor.BLUE, 0);
52-
//Vanilla Crafting Tables
55+
// Vanilla Crafting Tables
5356
generateVanillaCraftingTables();
54-
//Red Mushroom Blocks
57+
// Modded Crafting Tables
58+
if (ModHelpers.isModLoaded("aether")) {
59+
createPyriteBlock("skyroot_crafting_table","crafting", Blocks.CRAFTING_TABLE);
60+
createPyriteBlock( "holystone_wall_gate","fence_gate", Blocks.STONE);
61+
createPyriteBlock( "mossy_holystone_wall_gate","fence_gate", Blocks.STONE);
62+
createPyriteBlock( "holystone_brick_wall_gate","fence_gate", Blocks.STONE);
63+
createPyriteBlock( "icestone_wall_gate","fence_gate", Blocks.STONE);
64+
createPyriteBlock( "aerogel_wall_gate","fence_gate", Blocks.STONE);
65+
createPyriteBlock( "carved_wall_gate","fence_gate", Blocks.STONE);
66+
createPyriteBlock( "angelic_wall_gate","fence_gate", Blocks.STONE);
67+
createPyriteBlock( "hellfire_wall_gate","fence_gate", Blocks.STONE);
68+
69+
70+
}
71+
// Red Mushroom Blocks
5572
createPyriteBlock("red_mushroom_stem", "log", Blocks.MUSHROOM_STEM);
5673
createWoodSet("red_mushroom", MapColor.RED, 0);
57-
//Brown Mushroom Blocks
74+
// Brown Mushroom Blocks
5875
createPyriteBlock("brown_mushroom_stem", "log", Blocks.MUSHROOM_STEM);
5976
createWoodSet("brown_mushroom", MapColor.BROWN, 0);
60-
//Autogenerate dye blocks.
77+
// Autogenerate dye blocks.
6178
final String[] dyes = getDyes();
6279
for (int dyeIndex = 0; dyeIndex < dyes.length; dyeIndex++) {
6380
String dye = dyes[dyeIndex];
6481
int blockLux = checkDyeLux(dye);
6582
MapColor color = checkDyeMapColour(dye);
6683
if (dyeIndex > 15) {
67-
//Dye items.
84+
// Dye items.
6885
registerPyriteItem(dye + "_dye");
69-
//Dyed Wool
86+
// Dyed Wool
7087
createPyriteBlock(dye + "_wool", "block", Blocks.WHITE_WOOL, color, blockLux);
71-
//Terracotta Block
72-
createPyriteBlock(dye+"_terracotta", "block", Blocks.TERRACOTTA,color, blockLux);
73-
74-
//Glazed Terracotta Block
75-
//coming soon - createPyriteBlock(dye+"_glazed_terracotta", "block", Blocks.TERRACOTTA,color, blockLux);
76-
//Concrete Powder Block
77-
//coming soon - createPyriteBlock(dye+"_concrete", "block", Blocks.TERRACOTTA,color, blockLux);
78-
//Concrete Block
79-
//coming soon - createPyriteBlock(dye+"_concrete", "block", Blocks.CONCRETE,color, blockLux);
80-
//Carpet block
88+
// Dyed Carpet
8189
createPyriteBlock(dye + "_carpet", "carpet", Blocks.WHITE_CARPET, color, blockLux);
90+
// Dyed Concrete
91+
createPyriteBlock(dye+"_concrete", "block", Blocks.WHITE_CONCRETE, color, blockLux);
92+
// Dyed Concrete Powder
93+
createPyriteBlock(dye+"_concrete_powder", "concrete_powder", Blocks.WHITE_CONCRETE_POWDER, color, blockLux);
8294
}
83-
//Planks and plank products
95+
// Dyed Concrete Stairs
96+
createPyriteBlock( dye+"_concrete_stairs", "stairs", Blocks.WHITE_CONCRETE, color, blockLux);
97+
// Dyed Concrete Slab
98+
createPyriteBlock( dye+"_concrete_slab", "slab", Blocks.WHITE_CONCRETE, color, blockLux);
99+
//Dyed Planks and plank products
84100
createWoodSet(dye + "_stained", color, blockLux);
85-
//Bricks and brick products
101+
// Dyed Bricks and brick products
86102
generateBrickSet(dye + "_brick", Blocks.BRICKS, color, blockLux);
87-
//Terracotta Bricks
103+
if (dyeIndex > 15) {
104+
// Dyed Terracotta
105+
createPyriteBlock(dye+"_terracotta", "block", Blocks.TERRACOTTA,color, blockLux);
106+
// Dyed Glazed Terracotta
107+
//coming soon - createPyriteBlock(dye+"_glazed_terracotta", "block", Blocks.TERRACOTTA,color, blockLux);
108+
}
109+
// Dyed Terracotta Bricks
88110
generateBrickSet(dye+"_terracotta_brick", Blocks.TERRACOTTA, color, blockLux);
89-
//Dyed Framed Glass
111+
// Dyed Torches
112+
createTorch(dye+"_torch", getTorchParticle(dye));
113+
// Dyed Lamps
114+
createPyriteBlock(dye + "_lamp","block", 0.3f, color, 15);
115+
// Dyed Framed Glass
90116
createPyriteBlock(dye+"_framed_glass","tinted_glass", 2.0f, color, blockLux);
91-
//Dyed Framed Glass Pane
117+
// Dyed Framed Glass Pane
92118
createPyriteBlock( dye+"_framed_glass_pane","tinted_glass_pane", 2.0f, color, blockLux);
93-
//Dyed Lamps
94-
createPyriteBlock(dye + "_lamp","block", 0.3f, color, 15);
95-
//Dyed Torches
96-
createTorch(dye+"_torch", getTorchParticle(dye));
97-
//Dyed Torch Levers
119+
// Dyed Torch Levers
98120
createTorchLever(dye+"_torch_lever", Blocks.TORCH, getTorchParticle(dye));
99121

100122

101123

124+
102125
}
103-
//Autogenerate Wall Gates
126+
// Autogenerate Wall Gates
104127
for (Block wallsBlock : getVanillaWalls()) {
105128
//Find block ID
106129
String block = findVanillaBlockID(wallsBlock);
@@ -111,8 +134,6 @@ public static void init() {
111134
//Create block.
112135
createPyriteBlock(block + "_gate","fence_gate", wallsBlock);
113136
}
114-
register();
115-
116137
}
117138

118139

common/src/main/java/cc/cassian/pyrite/blocks/ModCraftingScreenHandler.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package cc.cassian.pyrite.blocks;
22

33
import net.minecraft.block.Block;
4-
import net.minecraft.block.Blocks;
54
import net.minecraft.entity.player.PlayerEntity;
65
import net.minecraft.entity.player.PlayerInventory;
76
import net.minecraft.screen.CraftingScreenHandler;

common/src/main/java/cc/cassian/pyrite/blocks/ModCraftingTable.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@
33
import net.minecraft.block.BlockState;
44
import net.minecraft.block.CraftingTableBlock;
55
import net.minecraft.entity.player.PlayerEntity;
6-
import net.minecraft.screen.CraftingScreenHandler;
76
import net.minecraft.screen.NamedScreenHandlerFactory;
87
import net.minecraft.screen.ScreenHandlerContext;
98
import net.minecraft.screen.SimpleNamedScreenHandlerFactory;
109
import net.minecraft.stat.Stats;
1110
import net.minecraft.text.Text;
1211
import net.minecraft.util.ActionResult;
13-
import net.minecraft.util.Hand;
1412
import net.minecraft.util.hit.BlockHitResult;
1513
import net.minecraft.util.math.BlockPos;
1614
import net.minecraft.world.World;
@@ -21,14 +19,15 @@ public class ModCraftingTable extends CraftingTableBlock {
2119
public ModCraftingTable(Settings settings) {
2220
super(settings);
2321
}
24-
@Override
25-
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) {
22+
23+
protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit) {
2624
if (world.isClient) {
2725
return ActionResult.SUCCESS;
26+
} else {
27+
player.openHandledScreen(state.createScreenHandlerFactory(world, pos));
28+
player.incrementStat(Stats.INTERACT_WITH_CRAFTING_TABLE);
29+
return ActionResult.CONSUME;
2830
}
29-
player.openHandledScreen(state.createScreenHandlerFactory(world, pos));
30-
player.incrementStat(Stats.INTERACT_WITH_CRAFTING_TABLE);
31-
return ActionResult.CONSUME;
3231
}
3332

3433
@Override

common/src/main/java/cc/cassian/pyrite/blocks/ModFacingBlock.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package cc.cassian.pyrite.blocks;
22

3+
import com.mojang.serialization.MapCodec;
34
import net.minecraft.block.Block;
45
import net.minecraft.block.BlockState;
56
import net.minecraft.block.HorizontalFacingBlock;
@@ -20,6 +21,7 @@ public ModFacingBlock(Settings settings) {
2021
this.power = 0;
2122

2223
}
24+
2325
public ModFacingBlock(Settings settings, int power) {
2426
super(settings);
2527
this.setDefaultState(this.stateManager.getDefaultState().with(FACING, Direction.NORTH));

common/src/main/java/cc/cassian/pyrite/blocks/ModGlass.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package cc.cassian.pyrite.blocks;
22

3-
import net.minecraft.block.GlassBlock;
3+
import net.minecraft.block.TransparentBlock;
44

5-
public class ModGlass extends GlassBlock {
5+
public class ModGlass extends TransparentBlock {
66
public ModGlass(Settings settings) {
77
super (settings.nonOpaque());
88
}

common/src/main/java/cc/cassian/pyrite/blocks/ModPillar.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package cc.cassian.pyrite.blocks;
22

3-
import net.minecraft.block.Block;
43
import net.minecraft.block.BlockState;
54
import net.minecraft.block.PillarBlock;
65
import net.minecraft.util.math.BlockPos;

common/src/main/java/cc/cassian/pyrite/blocks/ModTorch.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import com.google.common.collect.ImmutableMap;
44
import com.google.common.collect.Maps;
5+
import com.mojang.serialization.MapCodec;
56
import net.minecraft.block.*;
67
import net.minecraft.particle.ParticleEffect;
78
import net.minecraft.particle.ParticleTypes;
@@ -84,6 +85,7 @@ public void randomDisplayTick(BlockState state, World world, BlockPos pos, Rando
8485
world.addParticle(ParticleTypes.SMOKE, xPlus, yPlus, zPlus, 0.0, 0.0, 0.0);
8586
world.addParticle(particle, xPlus, yPlus, zPlus, 0.0, 0.0, 0.0);
8687
}
88+
8789
public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos) {
8890
return canPlaceAt(world, pos, getDirection(state).getOpposite());
8991
}

common/src/main/java/cc/cassian/pyrite/blocks/ModWall.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package cc.cassian.pyrite.blocks;
22

3-
import net.minecraft.block.Block;
43
import net.minecraft.block.BlockState;
54
import net.minecraft.block.WallBlock;
65
import net.minecraft.util.math.BlockPos;
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
package cc.cassian.pyrite.blocks;
2+
3+
import com.mojang.serialization.MapCodec;
4+
import net.minecraft.block.Block;
5+
import net.minecraft.block.BlockState;
6+
import net.minecraft.block.TransparentBlock;
7+
import net.minecraft.item.ItemPlacementContext;
8+
import net.minecraft.server.world.ServerWorld;
9+
import net.minecraft.state.StateManager;
10+
import net.minecraft.state.property.BooleanProperty;
11+
import net.minecraft.state.property.Properties;
12+
import net.minecraft.util.math.BlockPos;
13+
import net.minecraft.util.math.random.Random;
14+
import net.minecraft.world.BlockView;
15+
import net.minecraft.world.World;
16+
import org.jetbrains.annotations.Nullable;
17+
18+
public class SwitchableGlass extends TransparentBlock {
19+
public static final BooleanProperty POWERED;
20+
21+
public SwitchableGlass(Settings settings) {
22+
super(settings);
23+
this.setDefaultState(this.getDefaultState().with(POWERED, false));
24+
25+
}
26+
27+
public float getAmbientOcclusionLightLevel(BlockState state, BlockView world, BlockPos pos) {
28+
if (state.get(POWERED)) {
29+
return 0F;
30+
}
31+
else {
32+
return 1F;
33+
}
34+
}
35+
36+
public int getOpacity(BlockState state, BlockView world, BlockPos pos) {
37+
if (state.get(POWERED)) {
38+
return world.getMaxLightLevel();
39+
}
40+
return 0;
41+
}
42+
43+
@Nullable
44+
public BlockState getPlacementState(ItemPlacementContext ctx) {
45+
return this.getDefaultState().with(POWERED, ctx.getWorld().isReceivingRedstonePower(ctx.getBlockPos()));
46+
}
47+
48+
public void neighborUpdate(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) {
49+
if (!world.isClient) {
50+
boolean currentlyPowered = state.get(POWERED);
51+
if (currentlyPowered != world.isReceivingRedstonePower(pos)) {
52+
if (currentlyPowered) {
53+
world.scheduleBlockTick(pos, this, 4);
54+
} else {
55+
world.setBlockState(pos, state.cycle(POWERED), 2);
56+
}
57+
}
58+
}
59+
}
60+
61+
public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, Random random) {
62+
if (state.get(POWERED) && !world.isReceivingRedstonePower(pos)) {
63+
world.setBlockState(pos, state.cycle(POWERED), 2);
64+
}
65+
}
66+
67+
protected void appendProperties(StateManager.Builder<Block, BlockState> builder) {
68+
builder.add(POWERED);
69+
}
70+
71+
static {
72+
POWERED = Properties.POWERED;
73+
}
74+
}

0 commit comments

Comments
 (0)